Merge pull request #37 from adityasharma7/ROL-2150

Upgrade jQuery to 3.4.1  ROL-2150
diff --git a/.gitignore b/.gitignore
index c152e92..76ed5fa 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,21 @@
 ./tomcat/*
+
+# Eclipse
+.classpath
+.project
+.settings/
+
+# Intellij
+.idea/
+*.iml
+*.iws
+
+# Mac
+.DS_Store
+
+# Maven
+log/
+target/
+
+# Velocity
+velocity.log
\ No newline at end of file
diff --git a/app/pom.xml b/app/pom.xml
index 7e58466..9d1f710 100644
--- a/app/pom.xml
+++ b/app/pom.xml
@@ -387,6 +387,17 @@
         </dependency>
 
         <dependency>
+            <groupId>org.webjars</groupId>
+            <artifactId>jquery</artifactId>
+            <version>3.4.1</version>
+        </dependency>
+        <dependency>
+            <groupId>org.webjars</groupId>
+            <artifactId>jquery-ui</artifactId>
+            <version>1.12.1</version>
+         </dependency>
+
+        <dependency>
             <groupId>org.webjars.npm</groupId>
             <artifactId>angular</artifactId>
             <version>${angular.version}</version>
@@ -562,7 +573,7 @@
                             </resources>
                         </configuration>
                     </execution>
-                   
+
                     <execution>
                         <id>copy-resources</id>
                         <phase>process-resources</phase>
@@ -584,7 +595,7 @@
                     </execution>
 
                 </executions>
-                
+
                 <configuration>
                     <includeEmptyDirs>true</includeEmptyDirs>
                 </configuration>
diff --git a/app/src/main/webapp/WEB-INF/jsps/core/CreateWeblog.jsp b/app/src/main/webapp/WEB-INF/jsps/core/CreateWeblog.jsp
index 2d615e5..b41810a 100644
--- a/app/src/main/webapp/WEB-INF/jsps/core/CreateWeblog.jsp
+++ b/app/src/main/webapp/WEB-INF/jsps/core/CreateWeblog.jsp
@@ -16,7 +16,6 @@
   directory of this distribution.
 --%>
 <%@ include file="/WEB-INF/jsps/taglibs-struts2.jsp" %>
-<script src="<s:url value="/roller-ui/scripts/jquery-2.1.1.min.js" />"></script>
 <script src="<s:url value='/webjars/angular/1.2.29/angular.min.js' />"></script>
 
 <script>
diff --git a/app/src/main/webapp/WEB-INF/jsps/editor/Comments.jsp b/app/src/main/webapp/WEB-INF/jsps/editor/Comments.jsp
index 929d72e..1ced142 100644
--- a/app/src/main/webapp/WEB-INF/jsps/editor/Comments.jsp
+++ b/app/src/main/webapp/WEB-INF/jsps/editor/Comments.jsp
@@ -17,7 +17,6 @@
 --%>
 <%@ include file="/WEB-INF/jsps/taglibs-struts2.jsp" %>
 <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
-<script src="<s:url value="/roller-ui/scripts/jquery-2.1.1.min.js" />"></script>
 
 <s:if test="actionName == 'comments'">
     <s:set var="mainAction">comments</s:set>
diff --git a/app/src/main/webapp/WEB-INF/jsps/editor/CommentsSidebar.jsp b/app/src/main/webapp/WEB-INF/jsps/editor/CommentsSidebar.jsp
index fe145d7..1b656b8 100644
--- a/app/src/main/webapp/WEB-INF/jsps/editor/CommentsSidebar.jsp
+++ b/app/src/main/webapp/WEB-INF/jsps/editor/CommentsSidebar.jsp
@@ -17,10 +17,6 @@
 --%>
 <%@ include file="/WEB-INF/jsps/taglibs-struts2.jsp" %>
 
-<link rel="stylesheet" media="all" href='<s:url value="/roller-ui/jquery-ui-1.11.0/jquery-ui.min.css"/>' />
-<script src="<s:url value="/roller-ui/scripts/jquery-2.1.1.min.js" />"></script>
-<script src='<s:url value="/roller-ui/jquery-ui-1.11.0/jquery-ui.min.js"/>'></script>
-
 <s:if test="actionName == 'comments'">
     <s:set var="mainAction">comments</s:set>
 </s:if>
@@ -38,18 +34,18 @@
 <hr size="1" noshade="noshade" />
 
 <p><s:text name="commentManagement.sidebarDescription" /></p>
-    
+
  <s:form action="%{#mainAction}!query" id="commentsQuery">
 	<s:hidden name="salt" />
     <s:hidden name="weblog" />
-    
+
     <div class="sideformrow">
-        <label for="searchString" class="sideformrow"><s:text name="commentManagement.searchString" />:</label>   
+        <label for="searchString" class="sideformrow"><s:text name="commentManagement.searchString" />:</label>
         <s:textfield name="bean.searchString" size="15" />
     </div>
     <br />
     <br />
-    
+
     <div class="sideformrow">
         <label for="startDateString" class="sideformrow"><s:text name="commentManagement.startDate" />:</label>
             <script>
@@ -65,7 +61,7 @@
             </script>
             <s:textfield name="bean.startDateString" size="12" readonly="true"/>
     </div>
-        
+
     <div class="sideformrow">
         <label for="endDateString" class="sideformrow"><s:text name="commentManagement.endDate" />:</label>
             <script>
@@ -83,24 +79,24 @@
     </div>
     <br />
     <br />
-  
+
     <div class="sideformrow">
         <label for="approvedString" class="sideformrow">
             <s:text name="commentManagement.pendingStatus" />
             <br />
             <br />
             <br />
-            <br />            
             <br />
-        </label> 
+            <br />
+        </label>
         <div>
             <s:radio theme="roller" name="bean.approvedString" list="commentStatusOptions" listKey="key" listValue="value" />
         </div>
-    </div> 
+    </div>
     <br />
 
     <s:submit value="%{getText('commentManagement.query')}" />
-            
+
 </s:form>
 
 <br />
diff --git a/app/src/main/webapp/WEB-INF/jsps/editor/EntriesSidebar.jsp b/app/src/main/webapp/WEB-INF/jsps/editor/EntriesSidebar.jsp
index c1903db..2d4d2c4 100644
--- a/app/src/main/webapp/WEB-INF/jsps/editor/EntriesSidebar.jsp
+++ b/app/src/main/webapp/WEB-INF/jsps/editor/EntriesSidebar.jsp
@@ -17,10 +17,6 @@
 --%>
 <%@ include file="/WEB-INF/jsps/taglibs-struts2.jsp" %>
 
-<link rel="stylesheet" media="all" href='<s:url value="/roller-ui/jquery-ui-1.11.0/jquery-ui.min.css"/>' />
-<script src="<s:url value="/roller-ui/scripts/jquery-2.1.1.min.js" />"></script>
-<script src='<s:url value="/roller-ui/jquery-ui-1.11.0/jquery-ui.min.js"/>'></script>
-
 <div class="sidebarFade">
     <div class="menu-tr">
         <div class="menu-tl">
diff --git a/app/src/main/webapp/WEB-INF/jsps/editor/EntryEdit.jsp b/app/src/main/webapp/WEB-INF/jsps/editor/EntryEdit.jsp
index 7d00385..8e07f1f 100644
--- a/app/src/main/webapp/WEB-INF/jsps/editor/EntryEdit.jsp
+++ b/app/src/main/webapp/WEB-INF/jsps/editor/EntryEdit.jsp
@@ -17,11 +17,6 @@
 --%>
 <%@ include file="/WEB-INF/jsps/taglibs-struts2.jsp" %>
 
-<link rel="stylesheet" media="all" href='<s:url value="/roller-ui/jquery-ui-1.11.0/jquery-ui.min.css"/>' />
-
-<script src="<s:url value="/roller-ui/scripts/jquery-2.1.1.min.js" />"></script>
-<script src='<s:url value="/roller-ui/jquery-ui-1.11.0/jquery-ui.min.js"/>'></script>
-
 <style>
 #tagAutoCompleteWrapper {
     width:40em; /* set width here or else widget will expand to fit its container */
@@ -285,7 +280,7 @@
         </s:if>
     </div>
 
-    
+
     <%-- ================================================================== --%>
     <%-- Trackback control --%>
     <s:if test="actionName == 'entryEdit' && userAnAuthor">
diff --git a/app/src/main/webapp/WEB-INF/jsps/editor/EntryEditor.jsp b/app/src/main/webapp/WEB-INF/jsps/editor/EntryEditor.jsp
index 5050b29..488656d 100644
--- a/app/src/main/webapp/WEB-INF/jsps/editor/EntryEditor.jsp
+++ b/app/src/main/webapp/WEB-INF/jsps/editor/EntryEditor.jsp
@@ -130,7 +130,7 @@
 <s:else>
     <%-- Rich text editor (Xinha, see: http://trac.xinha.org/wiki/NewbieGuide) --%>
 
-    <s:url var="xinhaHome" value="/roller-ui/authoring/editors/xinha-0.96.1"></s:url>
+    <s:url var="xinhaHome" value="/roller-ui/authoring/editors/xinha-1.5.3"></s:url>
     <script>
         // (preferably absolute) URL (including trailing slash) where Xinha is installed
         _editor_url  = '<s:property value="xinhaHome" />';
diff --git a/app/src/main/webapp/WEB-INF/jsps/editor/MediaFileAdd.jsp b/app/src/main/webapp/WEB-INF/jsps/editor/MediaFileAdd.jsp
index 08d7e4a..1b3208d 100644
--- a/app/src/main/webapp/WEB-INF/jsps/editor/MediaFileAdd.jsp
+++ b/app/src/main/webapp/WEB-INF/jsps/editor/MediaFileAdd.jsp
@@ -16,7 +16,6 @@
   directory of this distribution.
 --%>
 <%@ include file="/WEB-INF/jsps/taglibs-struts2.jsp" %>
-<script src="<s:url value="/roller-ui/scripts/jquery-2.1.1.min.js" />"></script>
 
 
 <script>
@@ -25,7 +24,7 @@
             var name = '';
             var count = 0;
             var fileControls = $("input[type='file']");
-            for (var i=0; i<fileControls.size(); i++) {
+            for (var i=0; i<fileControls.length; i++) {
                 if (jQuery.trim(fileControls.get(i).value).length > 0) {
                     count++;
                     name = fileControls.get(i).value;
diff --git a/app/src/main/webapp/WEB-INF/jsps/editor/MediaFileAddSuccess.jsp b/app/src/main/webapp/WEB-INF/jsps/editor/MediaFileAddSuccess.jsp
index 1214149..ac72efe 100644
--- a/app/src/main/webapp/WEB-INF/jsps/editor/MediaFileAddSuccess.jsp
+++ b/app/src/main/webapp/WEB-INF/jsps/editor/MediaFileAddSuccess.jsp
@@ -16,7 +16,6 @@
   directory of this distribution.
 --%>
 <%@ include file="/WEB-INF/jsps/taglibs-struts2.jsp" %>
-<script src="<s:url value="/roller-ui/scripts/jquery-2.1.1.min.js" />"></script>
 
 <style>
     table.mediaFileTable {
diff --git a/app/src/main/webapp/WEB-INF/jsps/editor/MediaFileEdit.jsp b/app/src/main/webapp/WEB-INF/jsps/editor/MediaFileEdit.jsp
index 670eaa6..8aad442 100644
--- a/app/src/main/webapp/WEB-INF/jsps/editor/MediaFileEdit.jsp
+++ b/app/src/main/webapp/WEB-INF/jsps/editor/MediaFileEdit.jsp
@@ -18,7 +18,6 @@
 <%@ include file="/WEB-INF/jsps/taglibs-struts2.jsp" %>

 <%@ page import="org.apache.roller.weblogger.config.WebloggerConfig" %>

 

-<script src="<s:url value="/roller-ui/scripts/jquery-2.1.1.min.js" />"></script>

 

 <s:if test="bean.isImage">

     <div class="mediaFileThumbnail">

diff --git a/app/src/main/webapp/WEB-INF/jsps/editor/MediaFileImageChooser.jsp b/app/src/main/webapp/WEB-INF/jsps/editor/MediaFileImageChooser.jsp
index af0bbd6..984de68 100644
--- a/app/src/main/webapp/WEB-INF/jsps/editor/MediaFileImageChooser.jsp
+++ b/app/src/main/webapp/WEB-INF/jsps/editor/MediaFileImageChooser.jsp
@@ -17,7 +17,6 @@
 --%>

 <%@ include file="/WEB-INF/jsps/taglibs-struts2.jsp" %>

 

-<script src="<s:url value="/roller-ui/scripts/jquery-2.1.1.min.js" />"></script>

 

 <style>

     .mediaObject {

diff --git a/app/src/main/webapp/WEB-INF/jsps/editor/MediaFileView.jsp b/app/src/main/webapp/WEB-INF/jsps/editor/MediaFileView.jsp
index 163a869..7daca99 100644
--- a/app/src/main/webapp/WEB-INF/jsps/editor/MediaFileView.jsp
+++ b/app/src/main/webapp/WEB-INF/jsps/editor/MediaFileView.jsp
@@ -16,11 +16,6 @@
   directory of this distribution.
 --%>
 <%@ include file="/WEB-INF/jsps/taglibs-struts2.jsp" %>
-<link rel="stylesheet" media="all" href='<s:url value="/roller-ui/jquery-ui-1.11.0/jquery-ui.min.css"/>' />
-
-<script src="<s:url value="/roller-ui/scripts/jquery-2.1.1.min.js" />"></script>
-<script src='<s:url value="/roller-ui/jquery-ui-1.11.0/jquery-ui.min.js"/>'></script>
-
 
 <style>
     .mediaObject {
@@ -91,7 +86,7 @@
             document.mediaFileViewForm.submit();
         }
     }
-    
+
     function onView() {
         document.mediaFileViewForm.action = "<s:url action='mediaFileView!view' />";
         document.mediaFileViewForm.submit();
@@ -448,4 +443,4 @@
 
 <br/>
 <br/>
-<br/>
\ No newline at end of file
+<br/>
diff --git a/app/src/main/webapp/WEB-INF/jsps/editor/StylesheetEdit.jsp b/app/src/main/webapp/WEB-INF/jsps/editor/StylesheetEdit.jsp
index cd771f6..7196d51 100644
--- a/app/src/main/webapp/WEB-INF/jsps/editor/StylesheetEdit.jsp
+++ b/app/src/main/webapp/WEB-INF/jsps/editor/StylesheetEdit.jsp
@@ -16,7 +16,6 @@
   directory of this distribution.
 --%>
 <%@ include file="/WEB-INF/jsps/taglibs-struts2.jsp" %>
-<link rel="stylesheet" media="all" href='<s:url value="/roller-ui/jquery-ui-1.11.0/jquery-ui.min.css"/>' />
 
 <p class="subtitle"><s:text name="stylesheetEdit.subtitle" /></p>
 
@@ -89,9 +88,6 @@
 
     </s:form>
 
-    <script src="<s:url value='/roller-ui/scripts/jquery-2.1.1.min.js'></s:url>"></script>
-    <script src="<s:url value='/roller-ui/jquery-ui-1.11.0/jquery-ui.min.js'></s:url>"></script>
-
     <script>
         function revertStylesheet() {
             if (window.confirm('<s:text name="stylesheetEdit.confirmRevert"/>')) {
diff --git a/app/src/main/webapp/WEB-INF/jsps/editor/TemplateEdit.jsp b/app/src/main/webapp/WEB-INF/jsps/editor/TemplateEdit.jsp
index a07495a..331ee4a 100644
--- a/app/src/main/webapp/WEB-INF/jsps/editor/TemplateEdit.jsp
+++ b/app/src/main/webapp/WEB-INF/jsps/editor/TemplateEdit.jsp
@@ -16,7 +16,6 @@
   directory of this distribution.
 --%>
 <%@ include file="/WEB-INF/jsps/taglibs-struts2.jsp" %>
-<link rel="stylesheet" media="all" href='<s:url value="/roller-ui/jquery-ui-1.11.0/jquery-ui.min.css"/>' />
 
 <p class="subtitle">
    <s:text name="pageForm.subtitle" >
@@ -31,16 +30,16 @@
 <s:else>
     <p class="pagetip"><s:text name="pageForm.tip" /></p>
 </s:else>
-                
+
 <s:form action="templateEdit!save" id="template">
 	<s:hidden name="salt" />
     <s:hidden name="weblog" />
     <s:hidden name="bean.id"/>
     <s:hidden name ="bean.type"/>
-    
+
     <%-- ================================================================== --%>
     <%-- Name, link and description: disabled when page is a required page --%>
-    
+
     <table cellspacing="5">
         <tr>
             <td class="label"><s:text name="generic.name" />&nbsp;</td>
@@ -54,7 +53,7 @@
             </td>
             <td class="description"></td>
         </tr>
-        
+
         <tr>
             <td class="label"><s:text name="pageForm.action" />&nbsp;</td>
             <td class="field">
@@ -62,7 +61,7 @@
             </td>
             <td class="description"></td>
         </tr>
-        
+
        <s:if test="!template.required && template.custom">
             <tr>
                 <td class="label" valign="top"><s:text name="pageForm.link" />&nbsp;</td>
@@ -82,7 +81,7 @@
                 <s:text name="generic.description" />&nbsp;</td>
             <td class="field">
                 <s:if test="template.required">
-                    <s:textarea name="bean.description" cols="50" rows="2" 
+                    <s:textarea name="bean.description" cols="50" rows="2"
                         readonly="true" cssStyle="background: #e5e5e5" />
                 </s:if>
                 <s:else>
@@ -91,7 +90,7 @@
             </td>
             <td class="description"></td>
         </tr>
-        
+
     </table>
 
     <%-- ================================================================== --%>
@@ -129,10 +128,10 @@
         </tr>
     </table>
 
-  
+
     <%-- ================================================================== --%>
     <%-- Advanced settings inside a control toggle --%>
-    
+
     <s:if test="template.custom">
         <br />
         <div id="advancedControlToggle" class="controlToggle">
@@ -140,9 +139,9 @@
             <a class="controlToggle" onclick="javascript:toggleControl('advancedControlToggle','advancedControl')">
             <s:text name="pageForm.advancedSettings" /></a>
         </div>
-        
+
         <div id="advancedControl" class="advancedControl" style="display:none">
-            
+
             <table cellspacing="6">
                 <tr>
                     <td class="label" valign="top"><s:text name="pageForm.outputContentType" />&nbsp;</td>
@@ -159,62 +158,62 @@
                         }
                         // --></script>
                         <s:if test="bean.autoContentType">
-                            <input type="radio" name="bean.autoContentType" 
-                                   value="true" checked="true" 
-                                   onchange="showContentTypeField()" 
-                                   id="template_bean_autoContentType1"/> 
+                            <input type="radio" name="bean.autoContentType"
+                                   value="true" checked="true"
+                                   onchange="showContentTypeField()"
+                                   id="template_bean_autoContentType1"/>
                             <s:text name="pageForm.useAutoContentType" /><br />
-                            
-                            <input type="radio" name="bean.autoContentType" 
-                                   value="false" 
-                                   onchange="showContentTypeField()" 
+
+                            <input type="radio" name="bean.autoContentType"
+                                   value="false"
+                                   onchange="showContentTypeField()"
                                    id="template_bean_autoContentType2"/>
                             <s:text name="pageForm.useManualContentType" />
                             <s:textfield name="bean.manualContentType" />
                         </s:if>
                         <s:else>
-                            <input type="radio" name="bean.autoContentType" 
-                                   value="true" 
-                                   onchange="showContentTypeField()" 
-                                   id="template_bean_autoContentType1"/> 
+                            <input type="radio" name="bean.autoContentType"
+                                   value="true"
+                                   onchange="showContentTypeField()"
+                                   id="template_bean_autoContentType1"/>
                             <s:text name="pageForm.useAutoContentType" /><br />
-                            
-                            <input type="radio" name="bean.autoContentType" 
-                                   value="false" 
-                                   checked="true" 
-                                   onchange="showContentTypeField()" 
+
+                            <input type="radio" name="bean.autoContentType"
+                                   value="false"
+                                   checked="true"
+                                   onchange="showContentTypeField()"
                                    id="template_bean_autoContentType2"/>
                             <s:text name="pageForm.useManualContentType" />
                             <s:textfield name="bean.manualContentType" />
                         </s:else>
-                        
+
                         <br />
                         <br />
-                        
+
                         <script><!--
                             showContentTypeField();
-                        // --></script> 
-                        
+                        // --></script>
+
                     </td>
                     <td class="description"></td>
                 </tr>
-                
+
                 <tr>
                     <td class="label"><s:text name="pageForm.navbar" />&nbsp;</td>
-                    <td class="field"><s:checkbox name="bean.navbar" /> 
+                    <td class="field"><s:checkbox name="bean.navbar" />
                         <s:text name="pageForm.navbar.tip" />
                     </td>
                     <td class="description"></td>
                 </tr>
-                
+
                 <tr>
                     <td class="label"><s:text name="pageForm.hidden" />&nbsp;</td>
                     <td class="field"><s:checkbox name="bean.hidden" />
                         <s:text name="pageForm.hidden.tip" />
                     </td>
-                    <td class="description"></td>                            
+                    <td class="description"></td>
                 </tr>
-                
+
                 <tr>
                     <td class="label"><s:text name="pageForm.templateLanguage" />&nbsp;</td>
                     <td class="field">
@@ -222,12 +221,12 @@
                     </td>
                     <td class="description"></td>
                 </tr>
-                
+
             </table>
-            
+
         </div>
     </s:if>
-    
+
 </s:form>
 
 
@@ -245,7 +244,7 @@
         previewSpan.appendChild(n2);
     } else {
         previewSpan.replaceChild(n2, n1);
-    }           
+    }
 }
 // Don't launch page if user has changed link, it'll be a 404
 function launchPage() {
@@ -264,9 +263,6 @@
 }
 </script>
 
- <script src="<s:url value='/roller-ui/scripts/jquery-2.1.1.min.js'></s:url>"></script>
- <script src="<s:url value='/roller-ui/jquery-ui-1.11.0/jquery-ui.min.js'></s:url>"></script>
-
  <script>
      $(function() {
          $( "#template-code-tabs" ).tabs();
diff --git a/app/src/main/webapp/WEB-INF/jsps/editor/ThemeEdit.jsp b/app/src/main/webapp/WEB-INF/jsps/editor/ThemeEdit.jsp
index 4fde4f7..0bf003c 100644
--- a/app/src/main/webapp/WEB-INF/jsps/editor/ThemeEdit.jsp
+++ b/app/src/main/webapp/WEB-INF/jsps/editor/ThemeEdit.jsp
@@ -16,7 +16,6 @@
   directory of this distribution.
 --%>
 <%@ include file="/WEB-INF/jsps/taglibs-struts2.jsp" %>
-<script src="<s:url value='/roller-ui/scripts/jquery-2.1.1.min.js' />"></script>
 <script src="<s:url value='/webjars/angular/1.2.29/angular.min.js' />"></script>
 
 <script>
diff --git a/app/src/main/webapp/WEB-INF/jsps/tiles/head-ajax.jsp b/app/src/main/webapp/WEB-INF/jsps/tiles/head-ajax.jsp
index f890ec9..cca1c06 100644
--- a/app/src/main/webapp/WEB-INF/jsps/tiles/head-ajax.jsp
+++ b/app/src/main/webapp/WEB-INF/jsps/tiles/head-ajax.jsp
@@ -1,9 +1,10 @@
-<%-- 
+<%--
 This default stuff goes in the HTML head element of each page
 You can override it with your own file via WEB-INF/tiles-def.xml
 --%>
 <%@ include file="/WEB-INF/jsps/taglibs-struts2.jsp" %>
 
+<link rel="stylesheet" media="all" href='<s:url value="/webjars/jquery-ui/1.12.1/jquery-ui.min.css"/>' />
 <link rel="stylesheet" media="all" href="<s:url value='/roller-ui/yui3/cssreset/cssreset-min.css'/>" />
 <link rel="stylesheet" media="all" href="<s:url value='/roller-ui/yui3/cssfonts/cssfonts-min.css'/>" />
 <link rel="stylesheet" media="all" href="<s:url value='/roller-ui/yui3/cssbase/cssbase-min.css'/>" />
@@ -13,7 +14,8 @@
 <link rel="stylesheet" media="all" href='<s:url value="/roller-ui/styles/menu.css"/>' />
 
 <link rel="stylesheet" media="all" href="<s:url value="/roller-ui/theme/"/><s:property value="getProp('editor.theme')" />/colors.css" />
-
+<script src="<s:url value="/webjars/jquery/3.4.1/jquery.min.js"/>"></script>
+<script src="<s:url value="/webjars/jquery-ui/1.12.1/jquery-ui.min.js"/>"></script>
 <script src="<s:url value="/theme/scripts/roller.js"/>"></script>
 
 <%-- struts2 head disabled until we need it --%>
diff --git a/app/src/main/webapp/WEB-INF/jsps/tiles/head.jsp b/app/src/main/webapp/WEB-INF/jsps/tiles/head.jsp
index 912cd4b..40a1411 100644
--- a/app/src/main/webapp/WEB-INF/jsps/tiles/head.jsp
+++ b/app/src/main/webapp/WEB-INF/jsps/tiles/head.jsp
@@ -1,9 +1,10 @@
-<%-- 
+<%--
 This default stuff goes in the HTML head element of each page
 You can override it with your own file via WEB-INF/tiles-def.xml
 --%>
 <%@ include file="/WEB-INF/jsps/taglibs-struts2.jsp" %>
 
+<link rel="stylesheet" media="all" href='<s:url value="/webjars/jquery-ui/1.12.1/jquery-ui.min.css"/>' />
 <link rel="stylesheet" media="all" href="<s:url value='/roller-ui/yui3/cssreset/cssreset-min.css'/>" />
 <link rel="stylesheet" media="all" href="<s:url value='/roller-ui/yui3/cssfonts/cssfonts-min.css'/>" />
 <link rel="stylesheet" media="all" href="<s:url value='/roller-ui/yui3/cssbase/cssbase-min.css'/>" />
@@ -14,4 +15,6 @@
 
 <link rel="stylesheet" media="all" href="<s:url value="/roller-ui/theme/"/><s:property value="getProp('editor.theme')"/>/colors.css" />
 
+<script src="<s:url value="/webjars/jquery/3.4.1/jquery.min.js"/>"></script>
+<script src="<s:url value="/webjars/jquery-ui/1.12.1/jquery-ui.min.js"/>"></script>
 <script src="<s:url value="/theme/scripts/roller.js"/>"></script>
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/Xinha.css b/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/Xinha.css
deleted file mode 100644
index d845cf3..0000000
--- a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/Xinha.css
+++ /dev/null
@@ -1,477 +0,0 @@
-.htmlarea { background: #fff; }
-.htmlarea td { margin:0;padding:0; }
-
-.htmlarea .toolbarRow {
-  width:1px;
-}
-
-.htmlarea .toolbar {
-  cursor: default;
-  background: ButtonFace;
-  padding: 3px;
-  border: 1px solid;
-  border-color: ButtonHighlight ButtonShadow ButtonShadow ButtonHighlight;
-}
-.htmlarea .toolbar table { margin: 0; font-family: Tahoma, Verdana,sans-serif; font-size: 11px; }
-.htmlarea .toolbar img { border: none; vertical-align: top; }
-.htmlarea .toolbar .label { padding: 0 3px; }
-
-.htmlarea .toolbar .button {
-  background: ButtonFace;
-  color: ButtonText;
-  border: 1px solid ButtonFace;
-  padding: 1px;
-  margin: 0;
-  width: 18px;
-  height: 18px;
-}
-.htmlarea .toolbar a.button:hover {
-  border: 1px solid;
-  border-color: ButtonHighlight ButtonShadow ButtonShadow ButtonHighlight;
-}
-.htmlarea .toolbar a.buttonDisabled:hover {
-  border-color: ButtonFace;
-}
-.htmlarea .toolbar .buttonActive,
-.htmlarea .toolbar .buttonPressed
-{
-  padding: 2px 0 0 2px;
-  border: 1px solid;
-  border-color: ButtonShadow ButtonHighlight ButtonHighlight ButtonShadow;
-}
-.htmlarea .toolbar .buttonPressed {
-  background: ButtonHighlight;
-}
-.htmlarea .toolbar .indicator {
-  padding: 0 3px;
-  overflow: hidden;
-  width: 20px;
-  text-align: center;
-  cursor: default;
-  border: 1px solid ButtonShadow;
-}
-
-.htmlarea .toolbar .buttonDisabled img {
-  filter: gray() alpha(opacity = 25);
-  -moz-opacity: 0.25;
-  opacity: 0.25;
-}
-
-.htmlarea .toolbar .separator {
-  /*position: relative;*/
-  margin:0 3px;
-  border-left: 1px solid ButtonShadow;
-  border-right: 1px solid ButtonHighlight;
-  width: 0;
-  height: 18px;
-  padding: 0;
-}
-
-.htmlarea .toolbar .space { width: 5px; }
-
-.htmlarea .toolbar select, .htmlarea .toolbar option { font: 11px Tahoma,Verdana,sans-serif;}
-
-.htmlarea .toolbar select,
-.htmlarea .toolbar select:hover,
-.htmlarea .toolbar select:active { 
-  position:relative;
-  top:-2px;
-  margin-bottom:-2px;
-  color: ButtonText;
-}
-
-.htmlarea iframe.xinha_iframe, .htmlarea textarea.xinha_textarea
-{
-  border: none; /*1px solid;*/
-}
-
-.htmlarea .statusBar {
-  border: 1px solid;
-  border-color: ButtonShadow ButtonHighlight ButtonHighlight ButtonShadow;
-  padding: 2px 4px;
-  background-color: ButtonFace;
-  color: ButtonText;
-  font: 11px Tahoma,Verdana,sans-serif;
-  height:16px;
-  overflow: hidden;
-}
-
-.htmlarea .statusBar .statusBarTree a {
-  padding: 2px 5px;
-  color: #00f;
-}
-
-.htmlarea .statusBar .statusBarTree a:visited { color: #00f; }
-.htmlarea .statusBar .statusBarTree a:hover {
-  background-color: Highlight;
-  color: HighlightText;
-  padding: 1px 4px;
-  border: 1px solid HighlightText;
-}
-
-.statusBarWidgetContainer {
-  background-color: ButtonFace;
-}
-
-/* popup dialogs */
-
-.dialog {
-  color: ButtonText;
-  background: ButtonFace; 
-  border: 1px outset; 
-  border-color: WindowFrame;
-}
-div.dialog {
-  padding-bottom:10px;
-  border-radius: 8px 8px 0 0;
-  -moz-border-radius: 8px 8px 0 0;
-  -webkit-border-top-left-radius: 8px;
-  -webkit-border-top-right-radius: 8px;
-  
-  box-shadow: 9px 9px 10px #444;
-  -moz-box-shadow: 9px 9px 10px #444;
-  -webkit-box-shadow: 9px 9px 10px #444;
-}
-div.dialog.modeless {
-  box-shadow: 4px 4px 5px #888;
-  -moz-box-shadow: 4px 4px 5px #888;
-  -webkit-box-shadow: 4px 4px 5px #888;
-}
-div.dialog.chrome {
-  -webkit-box-shadow: none !IMPORTANT;
-}
-.panels div.dialog.panel {
-  border-radius:0;
-  -moz-border-radius: 0;
-  -webkit-border-radius:0;
-  
-  box-shadow: none;
-  -moz-box-shadow: none;
-  -webkit-box-shadow: none;
-}
-.xinha_dialog_background {
-  filter: alpha(opacity=0);
-  -moz-opacity: 0;
-  opacity: 0;
-  border:none;
-}
-.xinha_dialog_background_modal_greyout {
-  background-color:#666;
-  filter: alpha(opacity=70) !IMPORTANT;
-  -moz-opacity: 0.7;
-  opacity: 0.7;
-}
-.xinha_dialog_background_modal {
-  filter: alpha(opacity=0) !IMPORTANT;
-  -moz-opacity: 0;
-  opacity: 0;
-  border:none;
-}
-body.xinha_dialog_background_modal_greyout {
-  filter: alpha(opacity=100) !IMPORTANT;
-}
-body.xinha_dialog_background_modal {
-  filter: alpha(opacity=0);
-}
-.dialog .content { padding: 2px; }
-
-.dialog, .dialog button, .dialog input, .dialog select, .dialog textarea, .dialog table {
-  font: 11px Tahoma,Verdana,sans-serif;
-}
-
-.dialog table { border-collapse: collapse; }
-
-.dialog .title, .dialog h1
-{
-  background: ActiveCaption;
-  color: CaptionText;
-  border-bottom: 1px solid #000;
-  padding: 1px 0 2px 5px;
-  font-size: 12px;
-  font-weight: bold;
-  cursor: default;
-  letter-spacing: 0.01em;
-}
-.dialog h1 { 
-  padding-left:22px;
-  margin:0;
-  border-radius: 8px 8px 0 0;
-  -moz-border-radius: 8px 8px 0 0;
-  -webkit-border-top-left-radius: 8px;
-  -webkit-border-top-right-radius: 8px;
-}
-.panels .dialog.panel h1 { 
-  -moz-border-radius: 0;
-  -webkit-border-radius:0;
-}
-
-.dialog .title .button {
-  float: right;
-  border: 1px solid #66a;
-  padding: 0 1px 0 2px;
-  margin-right: 1px;
-  color: #fff;
-  text-align: center;
-}
-
-.dialog .title .button-hilite { border-color: #88f; background: #44c; }
-
-.dialog button {
-  width: 5.5em;
-  padding: 0;
-}
-.dialog .closeButton {
-  padding: 0;
-  cursor: default;
-  border: 1px solid;
-  border-color: ButtonHighlight ButtonShadow ButtonShadow ButtonHighlight;
-  height : 11px;
-  width : 11px;
-  vertical-align : top;
-  position : absolute;
-  top : 3px;
-  right : 2px;
-  background-color: ButtonFace;
-  color: ButtonText;
-  font-size: 13px;
-  font-family: Tahoma,Verdana,sans-serif;
-  text-align:center;
-  letter-spacing:0;
-  overflow:hidden;
-}
-.dialog .buttonColor {
-  width :1em;
-  padding: 1px;
-  cursor: default;
-  border: 1px solid;
-  border-color: ButtonHighlight ButtonShadow ButtonShadow ButtonHighlight;
-}
-
-.dialog .buttonColor .chooser, .dialog .buttonColor .nocolor {
-  height: 0.6em;
-  border: 1px solid;
-  padding: 0 1em;
-  border-color: ButtonShadow ButtonHighlight ButtonHighlight ButtonShadow;
-}
-
-.dialog .buttonClick {
-  border-color: ButtonShadow ButtonHighlight ButtonHighlight ButtonShadow;
-}
-.dialog .buttonColor-hilite {
-   border-color: ButtonShadow ButtonHighlight ButtonHighlight ButtonShadow;
-}
-
-.dialog .buttonColor .nocolor { padding: 0; }
-.dialog .buttonColor .nocolor-hilite { background-color: #fff; color: #f00; }
-
-.dialog .label { text-align: right; width: 6em; }
-.dialog .value input { width: 100%; }
-
-.dialog legend { font-weight: bold; }
-.dialog fieldset table { margin: 2px 0; }
- 
-.dialog  .buttons {
-
-      padding: 1em; 
-      text-align: center;
-}
-.dialog .resizeHandle {
-    -moz-appearance : resizer;
-    width: 12px;
-    height: 12px;
-    border-bottom: 2px solid #000;
-    border-right: 2px solid #000;
-    cursor : se-resize;
-}
-.popupwin {
-  padding: 0;
-  margin: 0;
-}
-
-.popupwin .title {
-  background: #fff;
-  color: #000;
-  font-weight: bold;
-  font-size: 120%;
-  padding: 3px 10px;
-  margin-bottom: 10px;
-  border-bottom: 1px solid black;
-  letter-spacing: 2px;
-}
-
-form { margin: 0; border: none; }
-
-
-/** Panels **/
-.htmlarea .panels_top
-{
-  border-bottom : 1px solid;
-  border-color: ButtonShadow;
-}
-
-.htmlarea .panels_right
-{
-  border-left : 1px solid;
-  border-color: ButtonShadow;
-}
-
-.htmlarea .panels_left
-{
-  border-right : 1px solid;
-  border-color: ButtonShadow;
-}
-
-.htmlarea .panels_bottom
-{
-  border-top : 1px solid;
-  border-color: ButtonShadow;
-}
-
-.htmlarea .panel h1 {
-  clear:left;
-  font-size:0.9em;
-}
-
-.htmlarea .panel { 
-  overflow:hidden; 
-  background-color:white;
-  padding-bottom:0 !IMPORTANT;
-  border: none !IMPORTANT;
-}
-.htmlarea .panels_left  .panel { border-right:none; border-left:none; }
-.htmlarea .panels_left  h1     { border-right:none;  }
-.htmlarea .panels_right .panel { border-right:none; border-left:none; }
-.htmlarea .panels_left  h1     { border-left:none;  }
-.htmlarea { border: 1px solid black; }
-
-.loading
-{
-  font-family:sans-serif;
-  position:absolute;
-  z-index:998;
-  text-align:center;
-  width:212px;
-  padding: 55px 0 5px 0;
-  border:2px solid #ccc;
-  /* border-color: ButtonHighlight ButtonShadow ButtonShadow ButtonHighlight;*/
-  background: url(images/xinha_logo.gif) no-repeat #fff center 5px;
-}
-.loading_main
-{
-  font-size:11px;
-  color:#000;
- 
-}
-.loading_sub
-{
-  font-size:9px;
-  color:#666;
-  text-align:center;
-}
-/* Classes for filemanager styles in a dialog. */
-.dialog a img
-{
-border: 0 none transparent;
-}
-
-.dialog fieldset.collapsed {
-border: 0 none transparent;
-}
-
-.dialog fieldset.collapsed form {
-display: none;
-}
-
-.hidden
-{
-display: none;
-}
-
-.placesmanager
-{
-  width: 95%;
-  overflow: auto;
-}
-
-.filemanager
-{
-  width: 95%;
-  height: 200px;
-  overflow: auto;
-  background-color: #fff;
-}
-.filemanager div.file
-{
-  min-width: 80px;
-  height: 100px;
-  position: relative;
-  float: left;
-  border: 1px outset #666;
-  margin: 4px;
-}
-.placesmanager div.file
-{
-  min-width: 60px;
-  height: 70px;
-  position: relative;
-  float: left;
-  border: 1px outset #666;
-  margin: 4px;
-}
-.filemanager div.file:hover,
-.placesmanager div.file:hover
-{
-  border: 1px solid #333;
-  background: #fffff3;
-}
-
-.filemanager div.selected,
-.filemanager div.selected:hover,
-.placesmanager div.selected,
-.placesmanager div.selected:hover
-{
-  background: #ffffda;
-  border: 1px solid #000;
-}
-.filemanager .filename {
-	margin: 0.5em;
-	color: #222;
-}
-.filemanager div.selected .filename {
-  color: #000;
-}
-.filemanager img.thumb
-{
-  width: 50px;
-  height: 50px;
-  position: absolute;
-  top: 50%;
-  left: 50%;
-  margin: -25px 0 0 -25px;
-  border: 1px solid black;
-}
-.filemanager img.icon
-{
-  width: 32px;
-  height: 32px;
-  position: absolute;
-  top: 50%;
-  left: 50%;
-  margin: -16px 0 0 -16px;
-}
-.filemanager img.action
-{
-  width: 15px;
-  height: 15px;
-  position: absolute;
-}
-.filemanager img.delete
-{
-  bottom: 3px;
-  left: 20px;
-}
-.filemanager img.copy
-{
-  bottom: 3px;
-  left: 3px;
-}
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/XinhaCore.js b/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/XinhaCore.js
deleted file mode 100644
index 2ef5029..0000000
--- a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/XinhaCore.js
+++ /dev/null
@@ -1,4322 +0,0 @@
-/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */
-/* The URL of the most recent version of this file is http://svn.xinha.org/trunk/XinhaCore.js */
-  /*--------------------------------------------------------------------------
-    --  Xinha (is not htmlArea) - http://xinha.org
-    --
-    --  Use of Xinha is granted by the terms of the htmlArea License (based on
-    --  BSD license)  please read license.txt in this package for details.
-    --
-    --  Copyright (c) 2005-2008 Xinha Developer Team and contributors
-    --  
-    --  Xinha was originally based on work by Mihai Bazon which is:
-    --      Copyright (c) 2003-2004 dynarch.com.
-    --      Copyright (c) 2002-2003 interactivetools.com, inc.
-    --      This copyright notice MUST stay intact for use.
-    -------------------------------------------------------------------------*/
-
-Xinha.version={"Release":"Trunk","Head":"$HeadURL: http://svn.xinha.org/tags/0.96.1/XinhaCore.js $".replace(/^[^:]*:\s*(.*)\s*\$$/,"$1"),"Date":"$LastChangedDate: 2010-05-11 17:40:06 -0400 (Tue, 11 May 2010) $".replace(/^[^:]*:\s*([0-9\-]*) ([0-9:]*) ([+0-9]*) \((.*)\)\s*\$/,"$4 $2 $3"),"Revision":"$LastChangedRevision: 1263 $".replace(/^[^:]*:\s*(.*)\s*\$$/,"$1"),"RevisionBy":"$LastChangedBy: gogo $".replace(/^[^:]*:\s*(.*)\s*\$$/,"$1")};
-Xinha._resolveRelativeUrl=function(_1,_2){
-if(_2.match(/^([^:]+\:)?\/\//)){
-return _2;
-}else{
-var b=_1.split("/");
-if(b[b.length-1]===""){
-b.pop();
-}
-var p=_2.split("/");
-if(p[0]=="."){
-p.shift();
-}
-while(p[0]==".."){
-b.pop();
-p.shift();
-}
-return b.join("/")+"/"+p.join("/");
-}
-};
-if(typeof _editor_url=="string"){
-_editor_url=_editor_url.replace(/\x2f*$/,"/");
-if(!_editor_url.match(/^([^:]+\:)?\//)){
-(function(){
-var _5=window.location.toString().replace(/\?.*$/,"").split("/");
-_5.pop();
-_editor_url=Xinha._resolveRelativeUrl(_5.join("/"),_editor_url);
-})();
-}
-}else{
-alert("WARNING: _editor_url is not set!  You should set this variable to the editor files path; it should preferably be an absolute path, like in '/xinha/', but it can be relative if you prefer.  Further we will try to load the editor files correctly but we'll probably fail.");
-_editor_url="";
-}
-if(typeof _editor_lang=="string"){
-_editor_lang=_editor_lang.toLowerCase();
-}else{
-_editor_lang="en";
-}
-if(typeof _editor_skin!=="string"){
-_editor_skin="";
-}
-if(typeof _editor_icons!=="string"){
-_editor_icons="";
-}
-var __xinhas=[];
-Xinha.agt=navigator.userAgent.toLowerCase();
-Xinha.is_ie=((Xinha.agt.indexOf("msie")!=-1)&&(Xinha.agt.indexOf("opera")==-1));
-Xinha.ie_version=parseFloat(Xinha.agt.substring(Xinha.agt.indexOf("msie")+5));
-Xinha.is_opera=(Xinha.agt.indexOf("opera")!=-1);
-if(Xinha.is_opera&&Xinha.agt.match(/opera[\/ ]([0-9.]+)/)){
-Xinha.opera_version=parseFloat(RegExp.$1);
-}else{
-Xinha.opera_version=0;
-}
-Xinha.is_khtml=(Xinha.agt.indexOf("khtml")!=-1);
-Xinha.is_webkit=(Xinha.agt.indexOf("applewebkit")!=-1);
-Xinha.webkit_version=parseInt(navigator.appVersion.replace(/.*?AppleWebKit\/([\d]).*?/,"$1"),10);
-Xinha.is_safari=(Xinha.agt.indexOf("safari")!=-1);
-Xinha.is_chrome=(Xinha.agt.indexOf("chrome")!=-1);
-Xinha.is_mac=(Xinha.agt.indexOf("mac")!=-1);
-Xinha.is_mac_ie=(Xinha.is_ie&&Xinha.is_mac);
-Xinha.is_win_ie=(Xinha.is_ie&&!Xinha.is_mac);
-Xinha.is_gecko=(navigator.product=="Gecko")||Xinha.is_opera;
-Xinha.is_real_gecko=(navigator.product=="Gecko"&&!Xinha.is_webkit);
-Xinha.is_ff2=Xinha.is_real_gecko&&parseInt(navigator.productSub.substr(0,10),10)<20071210;
-Xinha.isRunLocally=document.URL.toLowerCase().search(/^file:/)!=-1;
-Xinha.is_designMode=(typeof document.designMode!="undefined"&&!Xinha.is_ie);
-Xinha.checkSupportedBrowser=function(){
-return Xinha.is_real_gecko||(Xinha.is_opera&&Xinha.opera_version>=9.2)||Xinha.ie_version>=5.5||Xinha.webkit_version>=522;
-};
-Xinha.isSupportedBrowser=Xinha.checkSupportedBrowser();
-if(Xinha.isRunLocally&&Xinha.isSupportedBrowser){
-alert("Xinha *must* be installed on a web server. Locally opened files (those that use the \"file://\" protocol) cannot properly function. Xinha will try to initialize but may not be correctly loaded.");
-}
-function Xinha(_6,_7){
-if(!Xinha.isSupportedBrowser){
-return;
-}
-if(!_6){
-throw new Error("Tried to create Xinha without textarea specified.");
-}
-if(typeof _7=="undefined"){
-this.config=new Xinha.Config();
-}else{
-this.config=_7;
-}
-if(typeof _6!="object"){
-_6=Xinha.getElementById("textarea",_6);
-}
-this._textArea=_6;
-this._textArea.spellcheck=false;
-Xinha.freeLater(this,"_textArea");
-this._initial_ta_size={w:_6.style.width?_6.style.width:(_6.offsetWidth?(_6.offsetWidth+"px"):(_6.cols+"em")),h:_6.style.height?_6.style.height:(_6.offsetHeight?(_6.offsetHeight+"px"):(_6.rows+"em"))};
-if(document.getElementById("loading_"+_6.id)||this.config.showLoading){
-if(!document.getElementById("loading_"+_6.id)){
-Xinha.createLoadingMessage(_6);
-}
-this.setLoadingMessage(Xinha._lc("Constructing object"));
-}
-this._editMode="wysiwyg";
-this.plugins={};
-this._timerToolbar=null;
-this._timerUndo=null;
-this._undoQueue=[this.config.undoSteps];
-this._undoPos=-1;
-this._customUndo=true;
-this._mdoc=document;
-this.doctype="";
-this.__htmlarea_id_num=__xinhas.length;
-__xinhas[this.__htmlarea_id_num]=this;
-this._notifyListeners={};
-var _8={right:{on:true,container:document.createElement("td"),panels:[]},left:{on:true,container:document.createElement("td"),panels:[]},top:{on:true,container:document.createElement("td"),panels:[]},bottom:{on:true,container:document.createElement("td"),panels:[]}};
-for(var i in _8){
-if(!_8[i].container){
-continue;
-}
-_8[i].div=_8[i].container;
-_8[i].container.className="panels panels_"+i;
-Xinha.freeLater(_8[i],"container");
-Xinha.freeLater(_8[i],"div");
-}
-this._panels=_8;
-this._statusBar=null;
-this._statusBarTree=null;
-this._statusBarTextMode=null;
-this._statusBarItems=[];
-this._framework={};
-this._htmlArea=null;
-this._iframe=null;
-this._doc=null;
-this._toolBar=this._toolbar=null;
-this._toolbarObjects={};
-this.plugins.Events={name:"Events",developer:"The Xinha Core Developer Team",instance:_7.Events};
-};
-Xinha.onload=function(){
-};
-Xinha.init=function(){
-Xinha.onload();
-};
-Xinha.RE_tagName=/(<\/|<)\s*([^ \t\n>]+)/ig;
-Xinha.RE_doctype=/(<!doctype((.|\n)*?)>)\n?/i;
-Xinha.RE_head=/<head>((.|\n)*?)<\/head>/i;
-Xinha.RE_body=/<body[^>]*>((.|\n|\r|\t)*?)<\/body>/i;
-Xinha.RE_Specials=/([\/\^$*+?.()|{}\[\]])/g;
-Xinha.escapeStringForRegExp=function(_a){
-return _a.replace(Xinha.RE_Specials,"\\$1");
-};
-Xinha.RE_email=/^[_a-z\d\-\.]{3,}@[_a-z\d\-]{2,}(\.[_a-z\d\-]{2,})+$/i;
-Xinha.RE_url=/(https?:\/\/)?(([a-z0-9_]+:[a-z0-9_]+@)?[a-z0-9_\-]{2,}(\.[a-z0-9_\-]{2,}){2,}(:[0-9]+)?(\/\S+)*)/i;
-Xinha.Config=function(){
-this.version=Xinha.version.Revision;
-this.width="auto";
-this.height="auto";
-this.sizeIncludesBars=true;
-this.sizeIncludesPanels=true;
-this.panel_dimensions={left:"200px",right:"200px",top:"100px",bottom:"100px"};
-this.iframeWidth=null;
-this.statusBar=true;
-this.htmlareaPaste=false;
-this.mozParaHandler="best";
-this.getHtmlMethod="DOMwalk";
-this.undoSteps=20;
-this.undoTimeout=500;
-this.changeJustifyWithDirection=false;
-this.fullPage=false;
-this.pageStyle="";
-this.pageStyleSheets=[];
-this.baseHref=null;
-this.expandRelativeUrl=true;
-this.stripBaseHref=true;
-this.stripSelfNamedAnchors=true;
-this.only7BitPrintablesInURLs=true;
-this.sevenBitClean=false;
-this.specialReplacements={};
-this.inwardHtml=function(_b){
-return _b;
-};
-this.outwardHtml=function(_c){
-return _c;
-};
-this.autofocus=false;
-this.killWordOnPaste=true;
-this.makeLinkShowsTarget=true;
-this.charSet=(typeof document.characterSet!="undefined")?document.characterSet:document.charset;
-this.browserQuirksMode=null;
-this.imgURL="images/";
-this.popupURL="popups/";
-this.htmlRemoveTags=null;
-this.flowToolbars=true;
-this.toolbarAlign="left";
-this.showFontStylesInToolbar=false;
-this.showLoading=false;
-this.stripScripts=true;
-this.convertUrlsToLinks=true;
-this.colorPickerCellSize="6px";
-this.colorPickerGranularity=18;
-this.colorPickerPosition="bottom,right";
-this.colorPickerWebSafe=false;
-this.colorPickerSaveColors=20;
-this.fullScreen=false;
-this.fullScreenMargins=[0,0,0,0];
-this.fullScreenSizeDownMethod="initSize";
-this.toolbar=[["popupeditor"],["separator","formatblock","fontname","fontsize","bold","italic","underline","strikethrough"],["separator","forecolor","hilitecolor","textindicator"],["separator","subscript","superscript"],["linebreak","separator","justifyleft","justifycenter","justifyright","justifyfull"],["separator","insertorderedlist","insertunorderedlist","outdent","indent"],["separator","inserthorizontalrule","createlink","insertimage","inserttable"],["linebreak","separator","undo","redo","selectall","print"],(Xinha.is_gecko?[]:["cut","copy","paste","overwrite","saveas"]),["separator","killword","clearfonts","removeformat","toggleborders","splitblock","lefttoright","righttoleft"],["separator","htmlmode","showhelp","about"]];
-this.fontname={"&#8212; font &#8212;":"","Arial":"arial,helvetica,sans-serif","Courier New":"courier new,courier,monospace","Georgia":"georgia,times new roman,times,serif","Tahoma":"tahoma,arial,helvetica,sans-serif","Times New Roman":"times new roman,times,serif","Verdana":"verdana,arial,helvetica,sans-serif","impact":"impact","WingDings":"wingdings"};
-this.fontsize={"&#8212; size &#8212;":"","1 (8 pt)":"1","2 (10 pt)":"2","3 (12 pt)":"3","4 (14 pt)":"4","5 (18 pt)":"5","6 (24 pt)":"6","7 (36 pt)":"7"};
-this.formatblock={"&#8212; format &#8212;":"","Heading 1":"h1","Heading 2":"h2","Heading 3":"h3","Heading 4":"h4","Heading 5":"h5","Heading 6":"h6","Normal":"p","Address":"address","Formatted":"pre"};
-this.dialogOptions={"centered":true,"greyout":true,"closeOnEscape":true};
-this.Events={};
-this.customSelects={};
-this.debug=false;
-this.URIs={"blank":_editor_url+"popups/blank.html","link":_editor_url+"modules/CreateLink/link.html","insert_image":_editor_url+"modules/InsertImage/insert_image.html","insert_table":_editor_url+"modules/InsertTable/insert_table.html","select_color":_editor_url+"popups/select_color.html","help":_editor_url+"popups/editor_help.html"};
-this.btnList={bold:["Bold",Xinha._lc({key:"button_bold",string:["ed_buttons_main.png",3,2]},"Xinha"),false,function(e){
-e.execCommand("bold");
-}],italic:["Italic",Xinha._lc({key:"button_italic",string:["ed_buttons_main.png",2,2]},"Xinha"),false,function(e){
-e.execCommand("italic");
-}],underline:["Underline",Xinha._lc({key:"button_underline",string:["ed_buttons_main.png",2,0]},"Xinha"),false,function(e){
-e.execCommand("underline");
-}],strikethrough:["Strikethrough",Xinha._lc({key:"button_strikethrough",string:["ed_buttons_main.png",3,0]},"Xinha"),false,function(e){
-e.execCommand("strikethrough");
-}],subscript:["Subscript",Xinha._lc({key:"button_subscript",string:["ed_buttons_main.png",3,1]},"Xinha"),false,function(e){
-e.execCommand("subscript");
-}],superscript:["Superscript",Xinha._lc({key:"button_superscript",string:["ed_buttons_main.png",2,1]},"Xinha"),false,function(e){
-e.execCommand("superscript");
-}],justifyleft:["Justify Left",["ed_buttons_main.png",0,0],false,function(e){
-e.execCommand("justifyleft");
-}],justifycenter:["Justify Center",["ed_buttons_main.png",1,1],false,function(e){
-e.execCommand("justifycenter");
-}],justifyright:["Justify Right",["ed_buttons_main.png",1,0],false,function(e){
-e.execCommand("justifyright");
-}],justifyfull:["Justify Full",["ed_buttons_main.png",0,1],false,function(e){
-e.execCommand("justifyfull");
-}],orderedlist:["Ordered List",["ed_buttons_main.png",0,3],false,function(e){
-e.execCommand("insertorderedlist");
-}],unorderedlist:["Bulleted List",["ed_buttons_main.png",1,3],false,function(e){
-e.execCommand("insertunorderedlist");
-}],insertorderedlist:["Ordered List",["ed_buttons_main.png",0,3],false,function(e){
-e.execCommand("insertorderedlist");
-}],insertunorderedlist:["Bulleted List",["ed_buttons_main.png",1,3],false,function(e){
-e.execCommand("insertunorderedlist");
-}],outdent:["Decrease Indent",["ed_buttons_main.png",1,2],false,function(e){
-e.execCommand("outdent");
-}],indent:["Increase Indent",["ed_buttons_main.png",0,2],false,function(e){
-e.execCommand("indent");
-}],forecolor:["Font Color",["ed_buttons_main.png",3,3],false,function(e){
-e.execCommand("forecolor");
-}],hilitecolor:["Background Color",["ed_buttons_main.png",2,3],false,function(e){
-e.execCommand("hilitecolor");
-}],undo:["Undoes your last action",["ed_buttons_main.png",4,2],false,function(e){
-e.execCommand("undo");
-}],redo:["Redoes your last action",["ed_buttons_main.png",5,2],false,function(e){
-e.execCommand("redo");
-}],cut:["Cut selection",["ed_buttons_main.png",5,0],false,function(e,cmd){
-e.execCommand(cmd);
-}],copy:["Copy selection",["ed_buttons_main.png",4,0],false,function(e,cmd){
-e.execCommand(cmd);
-}],paste:["Paste from clipboard",["ed_buttons_main.png",4,1],false,function(e,cmd){
-e.execCommand(cmd);
-}],selectall:["Select all",["ed_buttons_main.png",3,5],false,function(e){
-e.execCommand("selectall");
-}],inserthorizontalrule:["Horizontal Rule",["ed_buttons_main.png",6,0],false,function(e){
-e.execCommand("inserthorizontalrule");
-}],createlink:["Insert Web Link",["ed_buttons_main.png",6,1],false,function(e){
-e._createLink();
-}],insertimage:["Insert/Modify Image",["ed_buttons_main.png",6,3],false,function(e){
-e.execCommand("insertimage");
-}],inserttable:["Insert Table",["ed_buttons_main.png",6,2],false,function(e){
-e.execCommand("inserttable");
-}],htmlmode:["Toggle HTML Source",["ed_buttons_main.png",7,0],true,function(e){
-e.execCommand("htmlmode");
-}],toggleborders:["Toggle Borders",["ed_buttons_main.png",7,2],false,function(e){
-e._toggleBorders();
-}],print:["Print document",["ed_buttons_main.png",8,1],false,function(e){
-if(Xinha.is_gecko){
-e._iframe.contentWindow.print();
-}else{
-e.focusEditor();
-print();
-}
-}],saveas:["Save as",["ed_buttons_main.png",9,1],false,function(e){
-e.execCommand("saveas",false,"noname.htm");
-}],about:["About this editor",["ed_buttons_main.png",8,2],true,function(e){
-e.getPluginInstance("AboutBox").show();
-}],showhelp:["Help using editor",["ed_buttons_main.png",9,2],true,function(e){
-e.execCommand("showhelp");
-}],splitblock:["Split Block","ed_splitblock.gif",false,function(e){
-e._splitBlock();
-}],lefttoright:["Direction left to right",["ed_buttons_main.png",0,2],false,function(e){
-e.execCommand("lefttoright");
-}],righttoleft:["Direction right to left",["ed_buttons_main.png",1,2],false,function(e){
-e.execCommand("righttoleft");
-}],overwrite:["Insert/Overwrite","ed_overwrite.gif",false,function(e){
-e.execCommand("overwrite");
-}],wordclean:["MS Word Cleaner",["ed_buttons_main.png",5,3],false,function(e){
-e._wordClean();
-}],clearfonts:["Clear Inline Font Specifications",["ed_buttons_main.png",5,4],true,function(e){
-e._clearFonts();
-}],removeformat:["Remove formatting",["ed_buttons_main.png",4,4],false,function(e){
-e.execCommand("removeformat");
-}],killword:["Clear MSOffice tags",["ed_buttons_main.png",4,3],false,function(e){
-e.execCommand("killword");
-}]};
-this.dblclickList={"a":[function(e,_3b){
-e._createLink(_3b);
-}],"img":[function(e,_3d){
-e._insertImage(_3d);
-}]};
-this.iconList={dialogCaption:_editor_url+"images/xinha-small-icon.gif",wysiwygmode:[_editor_url+"images/ed_buttons_main.png",7,1]};
-for(var i in this.btnList){
-var btn=this.btnList[i];
-if(typeof btn!="object"){
-continue;
-}
-if(typeof btn[1]!="string"){
-btn[1][0]=_editor_url+this.imgURL+btn[1][0];
-}else{
-btn[1]=_editor_url+this.imgURL+btn[1];
-}
-btn[0]=Xinha._lc(btn[0]);
-}
-};
-Xinha.Config.prototype.registerIcon=function(id,_41){
-this.iconList[id]=_41;
-};
-Xinha.Config.prototype.registerButton=function(id,_43,_44,_45,_46,_47){
-if(typeof id=="string"){
-this.btnList[id]=[_43,_44,_45,_46,_47];
-}else{
-if(typeof id=="object"){
-this.btnList[id.id]=[id.tooltip,id.image,id.textMode,id.action,id.context];
-}else{
-alert("ERROR [Xinha.Config::registerButton]:\ninvalid arguments");
-return false;
-}
-}
-};
-Xinha.prototype.registerPanel=function(_48,_49){
-if(!_48){
-_48="right";
-}
-this.setLoadingMessage("Register "+_48+" panel ");
-var _4a=this.addPanel(_48);
-if(_49){
-_49.drawPanelIn(_4a);
-}
-};
-Xinha.Config.prototype.registerDropdown=function(_4b){
-this.customSelects[_4b.id]=_4b;
-};
-Xinha.Config.prototype.hideSomeButtons=function(_4c){
-var _4d=this.toolbar;
-for(var i=_4d.length;--i>=0;){
-var _4f=_4d[i];
-for(var j=_4f.length;--j>=0;){
-if(_4c.indexOf(" "+_4f[j]+" ")>=0){
-var len=1;
-if(/separator|space/.test(_4f[j+1])){
-len=2;
-}
-_4f.splice(j,len);
-}
-}
-}
-};
-Xinha.Config.prototype.addToolbarElement=function(id,_53,_54){
-var _55=this.toolbar;
-var a,i,j,o,sid;
-var _5b=false;
-var _5c=false;
-var _5d=0;
-var _5e=0;
-var _5f=0;
-var _60=false;
-var _61=false;
-if((id&&typeof id=="object")&&(id.constructor==Array)){
-_5b=true;
-}
-if((_53&&typeof _53=="object")&&(_53.constructor==Array)){
-_5c=true;
-_5d=_53.length;
-}
-if(_5b){
-for(i=0;i<id.length;++i){
-if((id[i]!="separator")&&(id[i].indexOf("T[")!==0)){
-sid=id[i];
-}
-}
-}else{
-sid=id;
-}
-for(i=0;i<_55.length;++i){
-a=_55[i];
-for(j=0;j<a.length;++j){
-if(a[j]==sid){
-return;
-}
-}
-}
-for(i=0;!_61&&i<_55.length;++i){
-a=_55[i];
-for(j=0;!_61&&j<a.length;++j){
-if(_5c){
-for(o=0;o<_5d;++o){
-if(a[j]==_53[o]){
-if(o===0){
-_61=true;
-j--;
-break;
-}else{
-_5f=i;
-_5e=j;
-_5d=o;
-}
-}
-}
-}else{
-if(a[j]==_53){
-_61=true;
-break;
-}
-}
-}
-}
-if(!_61&&_5c){
-if(_53.length!=_5d){
-j=_5e;
-a=_55[_5f];
-_61=true;
-}
-}
-if(_61){
-if(_54===0){
-if(_5b){
-a[j]=id[id.length-1];
-for(i=id.length-1;--i>=0;){
-a.splice(j,0,id[i]);
-}
-}else{
-a[j]=id;
-}
-}else{
-if(_54<0){
-j=j+_54+1;
-}else{
-if(_54>0){
-j=j+_54;
-}
-}
-if(_5b){
-for(i=id.length;--i>=0;){
-a.splice(j,0,id[i]);
-}
-}else{
-a.splice(j,0,id);
-}
-}
-}else{
-_55[0].splice(0,0,"separator");
-if(_5b){
-for(i=id.length;--i>=0;){
-_55[0].splice(0,0,id[i]);
-}
-}else{
-_55[0].splice(0,0,id);
-}
-}
-};
-Xinha.Config.prototype.removeToolbarElement=Xinha.Config.prototype.hideSomeButtons;
-Xinha.replaceAll=function(_62){
-var tas=document.getElementsByTagName("textarea");
-for(var i=tas.length;i>0;new Xinha(tas[--i],_62).generate()){
-}
-};
-Xinha.replace=function(id,_66){
-var ta=Xinha.getElementById("textarea",id);
-return ta?new Xinha(ta,_66).generate():null;
-};
-Xinha.prototype._createToolbar=function(){
-this.setLoadingMessage(Xinha._lc("Create Toolbar"));
-var _68=this;
-var _69=document.createElement("div");
-this._toolBar=this._toolbar=_69;
-_69.className="toolbar";
-_69.align=this.config.toolbarAlign;
-Xinha.freeLater(this,"_toolBar");
-Xinha.freeLater(this,"_toolbar");
-var _6a=null;
-var _6b={};
-this._toolbarObjects=_6b;
-this._createToolbar1(_68,_69,_6b);
-function noselect(e){
-if(e.tagName){
-e.unselectable="on";
-}
-if(e.childNodes){
-for(var i=0;i<e.childNodes.length;i++){
-if(e.tagName){
-noselect(e.childNodes(i));
-}
-}
-}
-};
-if(Xinha.is_ie){
-noselect(_69);
-}
-this._htmlArea.appendChild(_69);
-return _69;
-};
-Xinha.prototype._setConfig=function(_6e){
-this.config=_6e;
-};
-Xinha.prototype._rebuildToolbar=function(){
-this._createToolbar1(this,this._toolbar,this._toolbarObjects);
-if(Xinha._currentlyActiveEditor){
-if(Xinha._currentlyActiveEditor==this){
-this.activateEditor();
-}
-}else{
-this.disableToolbar();
-}
-};
-Xinha._createToolbarBreakingElement=function(){
-var brk=document.createElement("div");
-brk.style.height="1px";
-brk.style.width="1px";
-brk.style.lineHeight="1px";
-brk.style.fontSize="1px";
-brk.style.clear="both";
-return brk;
-};
-Xinha.prototype._createToolbar1=function(_70,_71,_72){
-while(_71.lastChild){
-_71.removeChild(_71.lastChild);
-}
-var _73;
-if(_70.config.flowToolbars){
-_71.appendChild(Xinha._createToolbarBreakingElement());
-}
-function newLine(){
-if(typeof _73!="undefined"&&_73.childNodes.length===0){
-return;
-}
-var _74=document.createElement("table");
-_74.border="0px";
-_74.cellSpacing="0px";
-_74.cellPadding="0px";
-if(_70.config.flowToolbars){
-if(Xinha.is_ie){
-_74.style.styleFloat="left";
-}else{
-_74.style.cssFloat="left";
-}
-}
-_71.appendChild(_74);
-var _75=document.createElement("tbody");
-_74.appendChild(_75);
-_73=document.createElement("tr");
-_75.appendChild(_73);
-_74.className="toolbarRow";
-};
-newLine();
-function setButtonStatus(id,_77){
-var _78=this[id];
-var el=this.element;
-if(_78!=_77){
-switch(id){
-case "enabled":
-if(_77){
-Xinha._removeClass(el,"buttonDisabled");
-el.disabled=false;
-}else{
-Xinha._addClass(el,"buttonDisabled");
-el.disabled=true;
-}
-break;
-case "active":
-if(_77){
-Xinha._addClass(el,"buttonPressed");
-}else{
-Xinha._removeClass(el,"buttonPressed");
-}
-break;
-}
-this[id]=_77;
-}
-};
-function createSelect(txt){
-var _7b=null;
-var el=null;
-var cmd=null;
-var _7e=_70.config.customSelects;
-var _7f=null;
-var _80="";
-switch(txt){
-case "fontsize":
-case "fontname":
-case "formatblock":
-_7b=_70.config[txt];
-cmd=txt;
-break;
-default:
-cmd=txt;
-var _81=_7e[cmd];
-if(typeof _81!="undefined"){
-_7b=_81.options;
-_7f=_81.context;
-if(typeof _81.tooltip!="undefined"){
-_80=_81.tooltip;
-}
-}else{
-alert("ERROR [createSelect]:\nCan't find the requested dropdown definition");
-}
-break;
-}
-if(_7b){
-el=document.createElement("select");
-el.title=_80;
-el.style.width="auto";
-el.name=txt;
-var obj={name:txt,element:el,enabled:true,text:false,cmd:cmd,state:setButtonStatus,context:_7f};
-Xinha.freeLater(obj);
-_72[txt]=obj;
-for(var i in _7b){
-if(typeof _7b[i]!="string"){
-continue;
-}
-var op=document.createElement("option");
-op.innerHTML=Xinha._lc(i);
-op.value=_7b[i];
-if(txt=="fontname"&&_70.config.showFontStylesInToolbar){
-op.style.fontFamily=_7b[i];
-}
-el.appendChild(op);
-}
-Xinha._addEvent(el,"change",function(){
-_70._comboSelected(el,txt);
-});
-}
-return el;
-};
-function createButton(txt){
-var el,btn,obj=null;
-switch(txt){
-case "separator":
-if(_70.config.flowToolbars){
-newLine();
-}
-el=document.createElement("div");
-el.className="separator";
-break;
-case "space":
-el=document.createElement("div");
-el.className="space";
-break;
-case "linebreak":
-newLine();
-return false;
-case "textindicator":
-el=document.createElement("div");
-el.appendChild(document.createTextNode("A"));
-el.className="indicator";
-el.title=Xinha._lc("Current style");
-obj={name:txt,element:el,enabled:true,active:false,text:false,cmd:"textindicator",state:setButtonStatus};
-Xinha.freeLater(obj);
-_72[txt]=obj;
-break;
-default:
-btn=_70.config.btnList[txt];
-}
-if(!el&&btn){
-el=document.createElement("a");
-el.style.display="block";
-el.href="javascript:void(0)";
-el.style.textDecoration="none";
-el.title=btn[0];
-el.className="button";
-el.style.direction="ltr";
-obj={name:txt,element:el,enabled:true,active:false,text:btn[2],cmd:btn[3],state:setButtonStatus,context:btn[4]||null};
-Xinha.freeLater(el);
-Xinha.freeLater(obj);
-_72[txt]=obj;
-el.ondrag=function(){
-return false;
-};
-Xinha._addEvent(el,"mouseout",function(ev){
-if(obj.enabled){
-Xinha._removeClass(el,"buttonActive");
-if(obj.active){
-Xinha._addClass(el,"buttonPressed");
-}
-}
-});
-Xinha._addEvent(el,"mousedown",function(ev){
-if(obj.enabled){
-Xinha._addClass(el,"buttonActive");
-Xinha._removeClass(el,"buttonPressed");
-Xinha._stopEvent(Xinha.is_ie?window.event:ev);
-}
-});
-Xinha._addEvent(el,"click",function(ev){
-ev=ev||window.event;
-_70.btnClickEvent={clientX:ev.clientX,clientY:ev.clientY};
-if(obj.enabled){
-Xinha._removeClass(el,"buttonActive");
-if(Xinha.is_gecko){
-_70.activateEditor();
-}
-obj.cmd(_70,obj.name,obj,ev);
-Xinha._stopEvent(ev);
-}
-});
-var _8c=Xinha.makeBtnImg(btn[1]);
-var img=_8c.firstChild;
-Xinha.freeLater(_8c);
-Xinha.freeLater(img);
-el.appendChild(_8c);
-obj.imgel=img;
-obj.swapImage=function(_8e){
-if(typeof _8e!="string"){
-img.src=_8e[0];
-img.style.position="relative";
-img.style.top=_8e[2]?("-"+(18*(_8e[2]+1))+"px"):"-18px";
-img.style.left=_8e[1]?("-"+(18*(_8e[1]+1))+"px"):"-18px";
-}else{
-obj.imgel.src=_8e;
-img.style.top="0px";
-img.style.left="0px";
-}
-};
-}else{
-if(!el){
-el=createSelect(txt);
-}
-}
-return el;
-};
-var _8f=true;
-for(var i=0;i<this.config.toolbar.length;++i){
-if(!_8f){
-}else{
-_8f=false;
-}
-if(this.config.toolbar[i]===null){
-this.config.toolbar[i]=["separator"];
-}
-var _91=this.config.toolbar[i];
-for(var j=0;j<_91.length;++j){
-var _93=_91[j];
-var _94;
-if(/^([IT])\[(.*?)\]/.test(_93)){
-var _95=RegExp.$1=="I";
-var _96=RegExp.$2;
-if(_95){
-_96=Xinha._lc(_96);
-}
-_94=document.createElement("td");
-_73.appendChild(_94);
-_94.className="label";
-_94.innerHTML=_96;
-}else{
-if(typeof _93!="function"){
-var _97=createButton(_93);
-if(_97){
-_94=document.createElement("td");
-_94.className="toolbarElement";
-_73.appendChild(_94);
-_94.appendChild(_97);
-}else{
-if(_97===null){
-alert("FIXME: Unknown toolbar item: "+_93);
-}
-}
-}
-}
-}
-}
-if(_70.config.flowToolbars){
-_71.appendChild(Xinha._createToolbarBreakingElement());
-}
-return _71;
-};
-Xinha.makeBtnImg=function(_98,doc){
-if(!doc){
-doc=document;
-}
-if(!doc._xinhaImgCache){
-doc._xinhaImgCache={};
-Xinha.freeLater(doc._xinhaImgCache);
-}
-var _9a=null;
-if(Xinha.is_ie&&((!doc.compatMode)||(doc.compatMode&&doc.compatMode=="BackCompat"))){
-_9a=doc.createElement("span");
-}else{
-_9a=doc.createElement("div");
-_9a.style.position="relative";
-}
-_9a.style.overflow="hidden";
-_9a.style.width="18px";
-_9a.style.height="18px";
-_9a.className="buttonImageContainer";
-var img=null;
-if(typeof _98=="string"){
-if(doc._xinhaImgCache[_98]){
-img=doc._xinhaImgCache[_98].cloneNode();
-}else{
-if(Xinha.ie_version<7&&/\.png$/.test(_98[0])){
-img=doc.createElement("span");
-img.style.display="block";
-img.style.width="18px";
-img.style.height="18px";
-img.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\""+_98+"\")";
-img.unselectable="on";
-}else{
-img=doc.createElement("img");
-img.src=_98;
-}
-}
-}else{
-if(doc._xinhaImgCache[_98[0]]){
-img=doc._xinhaImgCache[_98[0]].cloneNode();
-}else{
-if(Xinha.ie_version<7&&/\.png$/.test(_98[0])){
-img=doc.createElement("span");
-img.style.display="block";
-img.style.width="18px";
-img.style.height="18px";
-img.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\""+_98[0]+"\")";
-img.unselectable="on";
-}else{
-img=doc.createElement("img");
-img.src=_98[0];
-}
-img.style.position="relative";
-}
-img.style.top=_98[2]?("-"+(18*(_98[2]+1))+"px"):"-18px";
-img.style.left=_98[1]?("-"+(18*(_98[1]+1))+"px"):"-18px";
-}
-_9a.appendChild(img);
-return _9a;
-};
-Xinha.prototype._createStatusBar=function(){
-this.setLoadingMessage(Xinha._lc("Create Statusbar"));
-var _9c=document.createElement("div");
-_9c.style.position="relative";
-_9c.className="statusBar";
-_9c.style.width="100%";
-Xinha.freeLater(this,"_statusBar");
-var _9d=document.createElement("div");
-_9d.className="statusBarWidgetContainer";
-_9d.style.position="absolute";
-_9d.style.right="0";
-_9d.style.top="0";
-_9d.style.padding="3px 3px 3px 10px";
-_9c.appendChild(_9d);
-var _9e=document.createElement("span");
-_9e.className="statusBarTree";
-_9e.innerHTML=Xinha._lc("Path")+": ";
-this._statusBarTree=_9e;
-Xinha.freeLater(this,"_statusBarTree");
-_9c.appendChild(_9e);
-var _9f=document.createElement("span");
-_9f.innerHTML=Xinha.htmlEncode(Xinha._lc("You are in TEXT MODE.  Use the [<>] button to switch back to WYSIWYG."));
-_9f.style.display="none";
-this._statusBarTextMode=_9f;
-Xinha.freeLater(this,"_statusBarTextMode");
-_9c.appendChild(_9f);
-_9c.style.whiteSpace="nowrap";
-var _a0=this;
-this.notifyOn("before_resize",function(evt,_a2){
-_a0._statusBar.style.width=null;
-});
-this.notifyOn("resize",function(evt,_a4){
-if(Xinha.is_ie&&Xinha.ie_version==6){
-_a0._statusBar.style.width="100%";
-}else{
-var _a5=_a4["width"];
-_a0._statusBar.style.width=_a5+"px";
-}
-});
-this.notifyOn("modechange",function(evt,_a7){
-for(var i in _a0._statusWidgets){
-var _a9=_a0._statusWidgets[i];
-for(var _aa=0;_aa<_a9.modes.length;_aa++){
-if(_a9.modes[_aa]==_a7.mode){
-var _ab=true;
-}
-}
-if(typeof _ab=="undefined"){
-_a9.block.style.display="none";
-}else{
-_a9.block.style.display="";
-}
-}
-});
-if(!this.config.statusBar){
-_9c.style.display="none";
-}
-return _9c;
-};
-Xinha.prototype.registerStatusWidget=function(id,_ad){
-_ad=_ad||["wysiwyg"];
-if(!this._statusWidgets){
-this._statusWidgets={};
-}
-var _ae=document.createElement("div");
-_ae.className="statusBarWidget";
-_ae=this._statusBar.firstChild.appendChild(_ae);
-var _af=false;
-for(var i=0;i<_ad.length;i++){
-if(_ad[i]==this._editMode){
-_af=true;
-}
-}
-_ae.style.display=_af==true?"":"none";
-this._statusWidgets[id]={block:_ae,modes:_ad};
-return _ae;
-};
-Xinha.prototype.generate=function(){
-if(!Xinha.isSupportedBrowser){
-return;
-}
-var i;
-var _b2=this;
-var url;
-var _b4=false;
-var _b5=document.getElementsByTagName("link");
-if(!document.getElementById("XinhaCoreDesign")){
-_editor_css=(typeof _editor_css=="string")?_editor_css:"Xinha.css";
-for(i=0;i<_b5.length;i++){
-if((_b5[i].rel=="stylesheet")&&(_b5[i].href==_editor_url+_editor_css)){
-_b4=true;
-}
-}
-if(!_b4){
-Xinha.loadStyle(_editor_css,null,"XinhaCoreDesign",true);
-}
-}
-if(_editor_skin!==""&&!document.getElementById("XinhaSkin")){
-_b4=false;
-for(i=0;i<_b5.length;i++){
-if((_b5[i].rel=="stylesheet")&&(_b5[i].href==_editor_url+"skins/"+_editor_skin+"/skin.css")){
-_b4=true;
-}
-}
-if(!_b4){
-Xinha.loadStyle("skins/"+_editor_skin+"/skin.css",null,"XinhaSkin");
-}
-}
-var _b6=function(){
-_b2.generate();
-};
-if(Xinha.is_ie){
-url=_editor_url+"modules/InternetExplorer/InternetExplorer.js";
-if(!Xinha.loadPlugins([{plugin:"InternetExplorer",url:url}],_b6)){
-return false;
-}
-if(!this.plugins.InternetExplorer){
-_b2._browserSpecificPlugin=_b2.registerPlugin("InternetExplorer");
-}
-}else{
-if(Xinha.is_webkit){
-url=_editor_url+"modules/WebKit/WebKit.js";
-if(!Xinha.loadPlugins([{plugin:"WebKit",url:url}],_b6)){
-return false;
-}
-if(!this.plugins.Webkit){
-_b2._browserSpecificPlugin=_b2.registerPlugin("WebKit");
-}
-}else{
-if(Xinha.is_opera){
-url=_editor_url+"modules/Opera/Opera.js";
-if(!Xinha.loadPlugins([{plugin:"Opera",url:url}],_b6)){
-return false;
-}
-if(!this.plugins.Opera){
-_b2._browserSpecificPlugin=_b2.registerPlugin("Opera");
-}
-}else{
-if(Xinha.is_gecko){
-url=_editor_url+"modules/Gecko/Gecko.js";
-if(!Xinha.loadPlugins([{plugin:"Gecko",url:url}],_b6)){
-return false;
-}
-if(!this.plugins.Gecko){
-_b2._browserSpecificPlugin=_b2.registerPlugin("Gecko");
-}
-}
-}
-}
-}
-if(typeof Dialog=="undefined"&&!Xinha._loadback(_editor_url+"modules/Dialogs/dialog.js",_b6,this)){
-return false;
-}
-if(typeof Xinha.Dialog=="undefined"&&!Xinha._loadback(_editor_url+"modules/Dialogs/XinhaDialog.js",_b6,this)){
-return false;
-}
-url=_editor_url+"modules/FullScreen/full-screen.js";
-if(!Xinha.loadPlugins([{plugin:"FullScreen",url:url}],_b6)){
-return false;
-}
-url=_editor_url+"modules/ColorPicker/ColorPicker.js";
-if(!Xinha.loadPlugins([{plugin:"ColorPicker",url:url}],_b6)){
-return false;
-}else{
-if(typeof Xinha.getPluginConstructor("ColorPicker")!="undefined"&&!this.plugins.colorPicker){
-_b2.registerPlugin("ColorPicker");
-}
-}
-var _b7=_b2.config.toolbar;
-for(i=_b7.length;--i>=0;){
-for(var j=_b7[i].length;--j>=0;){
-switch(_b7[i][j]){
-case "popupeditor":
-if(!this.plugins.FullScreen){
-_b2.registerPlugin("FullScreen");
-}
-break;
-case "insertimage":
-url=_editor_url+"modules/InsertImage/insert_image.js";
-if(typeof Xinha.prototype._insertImage=="undefined"&&!Xinha.loadPlugins([{plugin:"InsertImage",url:url}],_b6)){
-return false;
-}else{
-if(typeof Xinha.getPluginConstructor("InsertImage")!="undefined"&&!this.plugins.InsertImage){
-_b2.registerPlugin("InsertImage");
-}
-}
-break;
-case "createlink":
-url=_editor_url+"modules/CreateLink/link.js";
-if(typeof Xinha.getPluginConstructor("Linker")=="undefined"&&!Xinha.loadPlugins([{plugin:"CreateLink",url:url}],_b6)){
-return false;
-}else{
-if(typeof Xinha.getPluginConstructor("CreateLink")!="undefined"&&!this.plugins.CreateLink){
-_b2.registerPlugin("CreateLink");
-}
-}
-break;
-case "inserttable":
-url=_editor_url+"modules/InsertTable/insert_table.js";
-if(!Xinha.loadPlugins([{plugin:"InsertTable",url:url}],_b6)){
-return false;
-}else{
-if(typeof Xinha.getPluginConstructor("InsertTable")!="undefined"&&!this.plugins.InsertTable){
-_b2.registerPlugin("InsertTable");
-}
-}
-break;
-case "about":
-url=_editor_url+"modules/AboutBox/AboutBox.js";
-if(!Xinha.loadPlugins([{plugin:"AboutBox",url:url}],_b6)){
-return false;
-}else{
-if(typeof Xinha.getPluginConstructor("AboutBox")!="undefined"&&!this.plugins.AboutBox){
-_b2.registerPlugin("AboutBox");
-}
-}
-break;
-}
-}
-}
-if(Xinha.is_gecko&&_b2.config.mozParaHandler!="built-in"){
-if(!Xinha.loadPlugins([{plugin:"EnterParagraphs",url:_editor_url+"modules/Gecko/paraHandlerBest.js"}],_b6)){
-return false;
-}
-if(!this.plugins.EnterParagraphs){
-_b2.registerPlugin("EnterParagraphs");
-}
-}
-var _b9=this.config.getHtmlMethod=="TransformInnerHTML"?_editor_url+"modules/GetHtml/TransformInnerHTML.js":_editor_url+"modules/GetHtml/DOMwalk.js";
-if(!Xinha.loadPlugins([{plugin:"GetHtmlImplementation",url:_b9}],_b6)){
-return false;
-}else{
-if(!this.plugins.GetHtmlImplementation){
-_b2.registerPlugin("GetHtmlImplementation");
-}
-}
-function getTextContent(_ba){
-return _ba.textContent||_ba.text;
-};
-if(_editor_skin){
-this.skinInfo={};
-var _bb=Xinha._geturlcontent(_editor_url+"skins/"+_editor_skin+"/skin.xml",true);
-if(_bb){
-var _bc=_bb.getElementsByTagName("meta");
-for(i=0;i<_bc.length;i++){
-this.skinInfo[_bc[i].getAttribute("name")]=_bc[i].getAttribute("value");
-}
-var _bd=_bb.getElementsByTagName("recommendedIcons");
-if(!_editor_icons&&_bd.length&&getTextContent(_bd[0])){
-_editor_icons=getTextContent(_bd[0]);
-}
-}
-}
-if(_editor_icons){
-var _be=Xinha._geturlcontent(_editor_url+"iconsets/"+_editor_icons+"/iconset.xml",true);
-if(_be){
-var _bf=_be.getElementsByTagName("icon");
-var _c0,id,_c2,_c3,x,y;
-for(i=0;i<_bf.length;i++){
-_c0=_bf[i];
-id=_c0.getAttribute("id");
-if(_c0.getElementsByTagName(_editor_lang).length){
-_c0=_c0.getElementsByTagName(_editor_lang)[0];
-}else{
-_c0=_c0.getElementsByTagName("default")[0];
-}
-_c2=getTextContent(_c0.getElementsByTagName("path")[0]);
-_c2=(!/^\//.test(_c2)?_editor_url:"")+_c2;
-_c3=_c0.getAttribute("type");
-if(_c3=="map"){
-x=parseInt(getTextContent(_c0.getElementsByTagName("x")[0]),10);
-y=parseInt(getTextContent(_c0.getElementsByTagName("y")[0]),10);
-if(this.config.btnList[id]){
-this.config.btnList[id][1]=[_c2,x,y];
-}
-if(this.config.iconList[id]){
-this.config.iconList[id]=[_c2,x,y];
-}
-}else{
-if(this.config.btnList[id]){
-this.config.btnList[id][1]=_c2;
-}
-if(this.config.iconList[id]){
-this.config.iconList[id]=_c2;
-}
-}
-}
-}
-}
-this.setLoadingMessage(Xinha._lc("Generate Xinha framework"));
-this._framework={"table":document.createElement("table"),"tbody":document.createElement("tbody"),"tb_row":document.createElement("tr"),"tb_cell":document.createElement("td"),"tp_row":document.createElement("tr"),"tp_cell":this._panels.top.container,"ler_row":document.createElement("tr"),"lp_cell":this._panels.left.container,"ed_cell":document.createElement("td"),"rp_cell":this._panels.right.container,"bp_row":document.createElement("tr"),"bp_cell":this._panels.bottom.container,"sb_row":document.createElement("tr"),"sb_cell":document.createElement("td")};
-Xinha.freeLater(this._framework);
-var fw=this._framework;
-fw.table.border="0";
-fw.table.cellPadding="0";
-fw.table.cellSpacing="0";
-fw.tb_row.style.verticalAlign="top";
-fw.tp_row.style.verticalAlign="top";
-fw.ler_row.style.verticalAlign="top";
-fw.bp_row.style.verticalAlign="top";
-fw.sb_row.style.verticalAlign="top";
-fw.ed_cell.style.position="relative";
-fw.tb_row.appendChild(fw.tb_cell);
-fw.tb_cell.colSpan=3;
-fw.tp_row.appendChild(fw.tp_cell);
-fw.tp_cell.colSpan=3;
-fw.ler_row.appendChild(fw.lp_cell);
-fw.ler_row.appendChild(fw.ed_cell);
-fw.ler_row.appendChild(fw.rp_cell);
-fw.bp_row.appendChild(fw.bp_cell);
-fw.bp_cell.colSpan=3;
-fw.sb_row.appendChild(fw.sb_cell);
-fw.sb_cell.colSpan=3;
-fw.tbody.appendChild(fw.tb_row);
-fw.tbody.appendChild(fw.tp_row);
-fw.tbody.appendChild(fw.ler_row);
-fw.tbody.appendChild(fw.bp_row);
-fw.tbody.appendChild(fw.sb_row);
-fw.table.appendChild(fw.tbody);
-var _c7=fw.table;
-this._htmlArea=_c7;
-Xinha.freeLater(this,"_htmlArea");
-_c7.className="htmlarea";
-fw.tb_cell.appendChild(this._createToolbar());
-var _c8=document.createElement("iframe");
-_c8.src=this.popupURL(_b2.config.URIs.blank);
-_c8.id="XinhaIFrame_"+this._textArea.id;
-fw.ed_cell.appendChild(_c8);
-this._iframe=_c8;
-this._iframe.className="xinha_iframe";
-Xinha.freeLater(this,"_iframe");
-var _c9=this._createStatusBar();
-this._statusBar=fw.sb_cell.appendChild(_c9);
-var _ca=this._textArea;
-_ca.parentNode.insertBefore(_c7,_ca);
-_ca.className="xinha_textarea";
-Xinha.removeFromParent(_ca);
-fw.ed_cell.appendChild(_ca);
-Xinha.addDom0Event(this._textArea,"click",function(){
-if(Xinha._currentlyActiveEditor!=this){
-_b2.updateToolbar();
-}
-return true;
-});
-if(_ca.form){
-Xinha.prependDom0Event(this._textArea.form,"submit",function(){
-_b2.firePluginEvent("onBeforeSubmit");
-_b2._textArea.value=_b2.outwardHtml(_b2.getHTML());
-return true;
-});
-var _cb=_ca.value;
-Xinha.prependDom0Event(this._textArea.form,"reset",function(){
-_b2.setHTML(_b2.inwardHtml(_cb));
-_b2.updateToolbar();
-return true;
-});
-if(!_ca.form.xinha_submit){
-try{
-_ca.form.xinha_submit=_ca.form.submit;
-_ca.form.submit=function(){
-this.onsubmit();
-this.xinha_submit();
-};
-}
-catch(ex){
-}
-}
-}
-Xinha.prependDom0Event(window,"unload",function(){
-_b2.firePluginEvent("onBeforeUnload");
-_ca.value=_b2.outwardHtml(_b2.getHTML());
-if(!Xinha.is_ie){
-_c7.parentNode.replaceChild(_ca,_c7);
-}
-return true;
-});
-_ca.style.display="none";
-_b2.initSize();
-this.setLoadingMessage(Xinha._lc("Finishing"));
-_b2._iframeLoadDone=false;
-if(Xinha.is_opera){
-_b2.initIframe();
-}else{
-Xinha._addEvent(this._iframe,"load",function(e){
-if(!_b2._iframeLoadDone){
-_b2._iframeLoadDone=true;
-_b2.initIframe();
-}
-return true;
-});
-}
-};
-Xinha.prototype.initSize=function(){
-this.setLoadingMessage(Xinha._lc("Init editor size"));
-var _cd=this;
-var _ce=null;
-var _cf=null;
-switch(this.config.width){
-case "auto":
-_ce=this._initial_ta_size.w;
-break;
-case "toolbar":
-_ce=this._toolBar.offsetWidth+"px";
-break;
-default:
-_ce=/[^0-9]/.test(this.config.width)?this.config.width:this.config.width+"px";
-break;
-}
-_cf=this.config.height=="auto"?this._initial_ta_size.h:/[^0-9]/.test(this.config.height)?this.config.height:this.config.height+"px";
-this.sizeEditor(_ce,_cf,this.config.sizeIncludesBars,this.config.sizeIncludesPanels);
-this.notifyOn("panel_change",function(){
-_cd.sizeEditor();
-});
-};
-Xinha.prototype.sizeEditor=function(_d0,_d1,_d2,_d3){
-if(this._risizing){
-return;
-}
-this._risizing=true;
-var _d4=this._framework;
-this.notifyOf("before_resize",{width:_d0,height:_d1});
-this.firePluginEvent("onBeforeResize",_d0,_d1);
-this._iframe.style.height="100%";
-this._textArea.style.height="1px";
-this._iframe.style.width="0px";
-this._textArea.style.width="0px";
-if(_d2!==null){
-this._htmlArea.sizeIncludesToolbars=_d2;
-}
-if(_d3!==null){
-this._htmlArea.sizeIncludesPanels=_d3;
-}
-if(_d0){
-this._htmlArea.style.width=_d0;
-if(!this._htmlArea.sizeIncludesPanels){
-var _d5=this._panels.right;
-if(_d5.on&&_d5.panels.length&&Xinha.hasDisplayedChildren(_d5.div)){
-this._htmlArea.style.width=(this._htmlArea.offsetWidth+parseInt(this.config.panel_dimensions.right,10))+"px";
-}
-var _d6=this._panels.left;
-if(_d6.on&&_d6.panels.length&&Xinha.hasDisplayedChildren(_d6.div)){
-this._htmlArea.style.width=(this._htmlArea.offsetWidth+parseInt(this.config.panel_dimensions.left,10))+"px";
-}
-}
-}
-if(_d1){
-this._htmlArea.style.height=_d1;
-if(!this._htmlArea.sizeIncludesToolbars){
-this._htmlArea.style.height=(this._htmlArea.offsetHeight+this._toolbar.offsetHeight+this._statusBar.offsetHeight)+"px";
-}
-if(!this._htmlArea.sizeIncludesPanels){
-var _d7=this._panels.top;
-if(_d7.on&&_d7.panels.length&&Xinha.hasDisplayedChildren(_d7.div)){
-this._htmlArea.style.height=(this._htmlArea.offsetHeight+parseInt(this.config.panel_dimensions.top,10))+"px";
-}
-var _d8=this._panels.bottom;
-if(_d8.on&&_d8.panels.length&&Xinha.hasDisplayedChildren(_d8.div)){
-this._htmlArea.style.height=(this._htmlArea.offsetHeight+parseInt(this.config.panel_dimensions.bottom,10))+"px";
-}
-}
-}
-_d0=this._htmlArea.offsetWidth;
-_d1=this._htmlArea.offsetHeight;
-var _d9=this._panels;
-var _da=this;
-var _db=1;
-function panel_is_alive(pan){
-if(_d9[pan].on&&_d9[pan].panels.length&&Xinha.hasDisplayedChildren(_d9[pan].container)){
-_d9[pan].container.style.display="";
-return true;
-}else{
-_d9[pan].container.style.display="none";
-return false;
-}
-};
-if(panel_is_alive("left")){
-_db+=1;
-}
-if(panel_is_alive("right")){
-_db+=1;
-}
-_d4.tb_cell.colSpan=_db;
-_d4.tp_cell.colSpan=_db;
-_d4.bp_cell.colSpan=_db;
-_d4.sb_cell.colSpan=_db;
-if(!_d4.tp_row.childNodes.length){
-Xinha.removeFromParent(_d4.tp_row);
-}else{
-if(!Xinha.hasParentNode(_d4.tp_row)){
-_d4.tbody.insertBefore(_d4.tp_row,_d4.ler_row);
-}
-}
-if(!_d4.bp_row.childNodes.length){
-Xinha.removeFromParent(_d4.bp_row);
-}else{
-if(!Xinha.hasParentNode(_d4.bp_row)){
-_d4.tbody.insertBefore(_d4.bp_row,_d4.ler_row.nextSibling);
-}
-}
-if(!this.config.statusBar){
-Xinha.removeFromParent(_d4.sb_row);
-}else{
-if(!Xinha.hasParentNode(_d4.sb_row)){
-_d4.table.appendChild(_d4.sb_row);
-}
-}
-_d4.lp_cell.style.width=this.config.panel_dimensions.left;
-_d4.rp_cell.style.width=this.config.panel_dimensions.right;
-_d4.tp_cell.style.height=this.config.panel_dimensions.top;
-_d4.bp_cell.style.height=this.config.panel_dimensions.bottom;
-_d4.tb_cell.style.height=this._toolBar.offsetHeight+"px";
-_d4.sb_cell.style.height=this._statusBar.offsetHeight+"px";
-var _dd=_d1-this._toolBar.offsetHeight-this._statusBar.offsetHeight;
-if(panel_is_alive("top")){
-_dd-=parseInt(this.config.panel_dimensions.top,10);
-}
-if(panel_is_alive("bottom")){
-_dd-=parseInt(this.config.panel_dimensions.bottom,10);
-}
-this._iframe.style.height=_dd+"px";
-var _de=_d0;
-if(panel_is_alive("left")){
-_de-=parseInt(this.config.panel_dimensions.left,10);
-}
-if(panel_is_alive("right")){
-_de-=parseInt(this.config.panel_dimensions.right,10);
-}
-var _df=this.config.iframeWidth?parseInt(this.config.iframeWidth,10):null;
-this._iframe.style.width=(_df&&_df<_de)?_df+"px":_de+"px";
-this._textArea.style.height=this._iframe.style.height;
-this._textArea.style.width=this._iframe.style.width;
-this.notifyOf("resize",{width:this._htmlArea.offsetWidth,height:this._htmlArea.offsetHeight});
-this.firePluginEvent("onResize",this._htmlArea.offsetWidth,this._htmlArea.offsetWidth);
-this._risizing=false;
-};
-Xinha.prototype.registerPanel=function(_e0,_e1){
-if(!_e0){
-_e0="right";
-}
-this.setLoadingMessage("Register "+_e0+" panel ");
-var _e2=this.addPanel(_e0);
-if(_e1){
-_e1.drawPanelIn(_e2);
-}
-};
-Xinha.prototype.addPanel=function(_e3){
-var div=document.createElement("div");
-div.side=_e3;
-if(_e3=="left"||_e3=="right"){
-div.style.width=this.config.panel_dimensions[_e3];
-if(this._iframe){
-div.style.height=this._iframe.style.height;
-}
-}
-Xinha.addClasses(div,"panel");
-this._panels[_e3].panels.push(div);
-this._panels[_e3].div.appendChild(div);
-this.notifyOf("panel_change",{"action":"add","panel":div});
-this.firePluginEvent("onPanelChange","add",div);
-return div;
-};
-Xinha.prototype.removePanel=function(_e5){
-this._panels[_e5.side].div.removeChild(_e5);
-var _e6=[];
-for(var i=0;i<this._panels[_e5.side].panels.length;i++){
-if(this._panels[_e5.side].panels[i]!=_e5){
-_e6.push(this._panels[_e5.side].panels[i]);
-}
-}
-this._panels[_e5.side].panels=_e6;
-this.notifyOf("panel_change",{"action":"remove","panel":_e5});
-this.firePluginEvent("onPanelChange","remove",_e5);
-};
-Xinha.prototype.hidePanel=function(_e8){
-if(_e8&&_e8.style.display!="none"){
-try{
-var pos=this.scrollPos(this._iframe.contentWindow);
-}
-catch(e){
-}
-_e8.style.display="none";
-this.notifyOf("panel_change",{"action":"hide","panel":_e8});
-this.firePluginEvent("onPanelChange","hide",_e8);
-try{
-this._iframe.contentWindow.scrollTo(pos.x,pos.y);
-}
-catch(e){
-}
-}
-};
-Xinha.prototype.showPanel=function(_ea){
-if(_ea&&_ea.style.display=="none"){
-try{
-var pos=this.scrollPos(this._iframe.contentWindow);
-}
-catch(e){
-}
-_ea.style.display="";
-this.notifyOf("panel_change",{"action":"show","panel":_ea});
-this.firePluginEvent("onPanelChange","show",_ea);
-try{
-this._iframe.contentWindow.scrollTo(pos.x,pos.y);
-}
-catch(e){
-}
-}
-};
-Xinha.prototype.hidePanels=function(_ec){
-if(typeof _ec=="undefined"){
-_ec=["left","right","top","bottom"];
-}
-var _ed=[];
-for(var i=0;i<_ec.length;i++){
-if(this._panels[_ec[i]].on){
-_ed.push(_ec[i]);
-this._panels[_ec[i]].on=false;
-}
-}
-this.notifyOf("panel_change",{"action":"multi_hide","sides":_ec});
-this.firePluginEvent("onPanelChange","multi_hide",_ec);
-};
-Xinha.prototype.showPanels=function(_ef){
-if(typeof _ef=="undefined"){
-_ef=["left","right","top","bottom"];
-}
-var _f0=[];
-for(var i=0;i<_ef.length;i++){
-if(!this._panels[_ef[i]].on){
-_f0.push(_ef[i]);
-this._panels[_ef[i]].on=true;
-}
-}
-this.notifyOf("panel_change",{"action":"multi_show","sides":_ef});
-this.firePluginEvent("onPanelChange","multi_show",_ef);
-};
-Xinha.objectProperties=function(obj){
-var _f3=[];
-for(var x in obj){
-_f3[_f3.length]=x;
-}
-return _f3;
-};
-Xinha.prototype.editorIsActivated=function(){
-try{
-return Xinha.is_designMode?this._doc.designMode=="on":this._doc.body.contentEditable;
-}
-catch(ex){
-return false;
-}
-};
-Xinha._someEditorHasBeenActivated=false;
-Xinha._currentlyActiveEditor=null;
-Xinha.prototype.activateEditor=function(){
-if(this.currentModal){
-return;
-}
-if(Xinha._currentlyActiveEditor){
-if(Xinha._currentlyActiveEditor==this){
-return true;
-}
-Xinha._currentlyActiveEditor.deactivateEditor();
-}
-if(Xinha.is_designMode&&this._doc.designMode!="on"){
-try{
-if(this._iframe.style.display=="none"){
-this._iframe.style.display="";
-this._doc.designMode="on";
-this._iframe.style.display="none";
-}else{
-this._doc.designMode="on";
-}
-if(Xinha.is_opera){
-this.setEditorEvents(true);
-}
-}
-catch(ex){
-}
-}else{
-if(Xinha.is_ie&&this._doc.body.contentEditable!==true){
-this._doc.body.contentEditable=true;
-}
-}
-Xinha._someEditorHasBeenActivated=true;
-Xinha._currentlyActiveEditor=this;
-var _f5=this;
-this.enableToolbar();
-};
-Xinha.prototype.deactivateEditor=function(){
-this.disableToolbar();
-if(Xinha.is_designMode&&this._doc.designMode!="off"){
-try{
-this._doc.designMode="off";
-}
-catch(ex){
-}
-}else{
-if(!Xinha.is_designMode&&this._doc.body.contentEditable!==false){
-this._doc.body.contentEditable=false;
-}
-}
-if(Xinha._currentlyActiveEditor!=this){
-return;
-}
-Xinha._currentlyActiveEditor=false;
-};
-Xinha.prototype.initIframe=function(){
-this.disableToolbar();
-var doc=null;
-var _f7=this;
-try{
-if(_f7._iframe.contentDocument){
-this._doc=_f7._iframe.contentDocument;
-}else{
-this._doc=_f7._iframe.contentWindow.document;
-}
-doc=this._doc;
-if(!doc){
-if(Xinha.is_gecko){
-setTimeout(function(){
-_f7.initIframe();
-},50);
-return false;
-}else{
-alert("ERROR: IFRAME can't be initialized.");
-}
-}
-}
-catch(ex){
-setTimeout(function(){
-_f7.initIframe();
-},50);
-return false;
-}
-Xinha.freeLater(this,"_doc");
-doc.open("text/html","replace");
-var _f8="",_f9;
-if(_f7.config.browserQuirksMode===false){
-_f9="<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">";
-}else{
-if(_f7.config.browserQuirksMode===true){
-_f9="";
-}else{
-_f9=Xinha.getDoctype(document);
-}
-}
-if(!_f7.config.fullPage){
-_f8+=_f9+"\n";
-_f8+="<html>\n";
-_f8+="<head>\n";
-_f8+="<meta http-equiv=\"Content-Type\" content=\"text/html; charset="+_f7.config.charSet+"\">\n";
-if(typeof _f7.config.baseHref!="undefined"&&_f7.config.baseHref!==null){
-_f8+="<base href=\""+_f7.config.baseHref+"\"/>\n";
-}
-_f8+=Xinha.addCoreCSS();
-if(typeof _f7.config.pageStyleSheets!=="undefined"){
-for(var i=0;i<_f7.config.pageStyleSheets.length;i++){
-if(_f7.config.pageStyleSheets[i].length>0){
-_f8+="<link rel=\"stylesheet\" type=\"text/css\" href=\""+_f7.config.pageStyleSheets[i]+"\">";
-}
-}
-}
-if(_f7.config.pageStyle){
-_f8+="<style type=\"text/css\">\n"+_f7.config.pageStyle+"\n</style>";
-}
-_f8+="</head>\n";
-_f8+="<body"+(_f7.config.bodyID?(" id=\""+_f7.config.bodyID+"\""):"")+(_f7.config.bodyClass?(" class=\""+_f7.config.bodyClass+"\""):"")+">\n";
-_f8+=_f7.inwardHtml(_f7._textArea.value);
-_f8+="</body>\n";
-_f8+="</html>";
-}else{
-_f8=_f7.inwardHtml(_f7._textArea.value);
-if(_f8.match(Xinha.RE_doctype)){
-_f7.setDoctype(RegExp.$1);
-}
-var _fb=_f8.match(/<link\s+[\s\S]*?["']\s*\/?>/gi);
-_f8=_f8.replace(/<link\s+[\s\S]*?["']\s*\/?>\s*/gi,"");
-if(_fb){
-_f8=_f8.replace(/<\/head>/i,_fb.join("\n")+"\n</head>");
-}
-}
-doc.write(_f8);
-doc.close();
-if(this.config.fullScreen){
-this._fullScreen();
-}
-this.setEditorEvents();
-if((typeof _f7.config.autofocus!="undefined")&&_f7.config.autofocus!==false&&((_f7.config.autofocus==_f7._textArea.id)||_f7.config.autofocus==true)){
-_f7.activateEditor();
-_f7.focusEditor();
-}
-};
-Xinha.prototype.whenDocReady=function(f){
-var e=this;
-if(this._doc&&this._doc.body){
-f();
-}else{
-setTimeout(function(){
-e.whenDocReady(f);
-},50);
-}
-};
-Xinha.prototype.setMode=function(_fe){
-var _ff;
-if(typeof _fe=="undefined"){
-_fe=this._editMode=="textmode"?"wysiwyg":"textmode";
-}
-switch(_fe){
-case "textmode":
-this.firePluginEvent("onBeforeMode","textmode");
-this._toolbarObjects.htmlmode.swapImage(this.config.iconList.wysiwygmode);
-this.setCC("iframe");
-_ff=this.outwardHtml(this.getHTML());
-this.setHTML(_ff);
-this.deactivateEditor();
-this._iframe.style.display="none";
-this._textArea.style.display="";
-if(this.config.statusBar){
-this._statusBarTree.style.display="none";
-this._statusBarTextMode.style.display="";
-}
-this.findCC("textarea");
-this.notifyOf("modechange",{"mode":"text"});
-this.firePluginEvent("onMode","textmode");
-break;
-case "wysiwyg":
-this.firePluginEvent("onBeforeMode","wysiwyg");
-this._toolbarObjects.htmlmode.swapImage([this.imgURL("images/ed_buttons_main.png"),7,0]);
-this.setCC("textarea");
-_ff=this.inwardHtml(this.getHTML());
-this.deactivateEditor();
-this.setHTML(_ff);
-this._iframe.style.display="";
-this._textArea.style.display="none";
-this.activateEditor();
-if(this.config.statusBar){
-this._statusBarTree.style.display="";
-this._statusBarTextMode.style.display="none";
-}
-this.findCC("iframe");
-this.notifyOf("modechange",{"mode":"wysiwyg"});
-this.firePluginEvent("onMode","wysiwyg");
-break;
-default:
-alert("Mode <"+_fe+"> not defined!");
-return false;
-}
-this._editMode=_fe;
-};
-Xinha.prototype.setFullHTML=function(html){
-var _101=RegExp.multiline;
-RegExp.multiline=true;
-if(html.match(Xinha.RE_doctype)){
-this.setDoctype(RegExp.$1);
-}
-RegExp.multiline=_101;
-if(0){
-if(html.match(Xinha.RE_head)){
-this._doc.getElementsByTagName("head")[0].innerHTML=RegExp.$1;
-}
-if(html.match(Xinha.RE_body)){
-this._doc.getElementsByTagName("body")[0].innerHTML=RegExp.$1;
-}
-}else{
-var reac=this.editorIsActivated();
-if(reac){
-this.deactivateEditor();
-}
-var _103=/<html>((.|\n)*?)<\/html>/i;
-html=html.replace(_103,"$1");
-this._doc.open("text/html","replace");
-this._doc.write(html);
-this._doc.close();
-if(reac){
-this.activateEditor();
-}
-this.setEditorEvents();
-return true;
-}
-};
-Xinha.prototype.setEditorEvents=function(_104){
-var _105=this;
-var doc=this._doc;
-_105.whenDocReady(function(){
-if(!_104){
-Xinha._addEvents(doc,["mousedown"],function(){
-_105.activateEditor();
-return true;
-});
-if(Xinha.is_ie){
-Xinha._addEvent(_105._doc.getElementsByTagName("html")[0],"click",function(){
-if(_105._iframe.contentWindow.event.srcElement.tagName.toLowerCase()=="html"){
-var r=_105._doc.body.createTextRange();
-r.collapse();
-r.select();
-}
-return true;
-});
-}
-}
-Xinha._addEvents(doc,["keydown","keypress","mousedown","mouseup","drag"],function(_108){
-return _105._editorEvent(Xinha.is_ie?_105._iframe.contentWindow.event:_108);
-});
-Xinha._addEvents(doc,["dblclick"],function(_109){
-return _105._onDoubleClick(Xinha.is_ie?_105._iframe.contentWindow.event:_109);
-});
-if(_104){
-return;
-}
-for(var i in _105.plugins){
-var _10b=_105.plugins[i].instance;
-Xinha.refreshPlugin(_10b);
-}
-if(typeof _105._onGenerate=="function"){
-_105._onGenerate();
-}
-Xinha.addDom0Event(window,"resize",function(e){
-if(Xinha.ie_version>7&&!window.parent){
-if(_105.execResize){
-_105.sizeEditor();
-_105.execResize=false;
-}else{
-_105.execResize=true;
-}
-}else{
-_105.sizeEditor();
-}
-});
-_105.removeLoadingMessage();
-});
-};
-Xinha.getPluginConstructor=function(_10d){
-return Xinha.plugins[_10d]||window[_10d];
-};
-Xinha.prototype.registerPlugin=function(){
-if(!Xinha.isSupportedBrowser){
-return;
-}
-var _10e=arguments[0];
-if(_10e===null||typeof _10e=="undefined"||(typeof _10e=="string"&&Xinha.getPluginConstructor(_10e)=="undefined")){
-return false;
-}
-var args=[];
-for(var i=1;i<arguments.length;++i){
-args.push(arguments[i]);
-}
-return this.registerPlugin2(_10e,args);
-};
-Xinha.prototype.registerPlugin2=function(_111,args){
-if(typeof _111=="string"&&typeof Xinha.getPluginConstructor(_111)=="function"){
-var _113=_111;
-_111=Xinha.getPluginConstructor(_111);
-}
-if(typeof _111=="undefined"){
-return false;
-}
-if(!_111._pluginInfo){
-_111._pluginInfo={name:_113};
-}
-var obj=new _111(this,args);
-if(obj){
-var _115={};
-var info=_111._pluginInfo;
-for(var i in info){
-_115[i]=info[i];
-}
-_115.instance=obj;
-_115.args=args;
-this.plugins[_111._pluginInfo.name]=_115;
-return obj;
-}else{
-Xinha.debugMsg("Can't register plugin "+_111.toString()+".","warn");
-}
-};
-Xinha.getPluginDir=function(_118,_119){
-if(Xinha.externalPlugins[_118]){
-return Xinha.externalPlugins[_118][0];
-}
-if(_119||(Xinha.getPluginConstructor(_118)&&(typeof Xinha.getPluginConstructor(_118).supported!="undefined")&&!Xinha.getPluginConstructor(_118).supported)){
-return _editor_url+"unsupported_plugins/"+_118;
-}
-return _editor_url+"plugins/"+_118;
-};
-Xinha.loadPlugin=function(_11a,_11b,url){
-if(!Xinha.isSupportedBrowser){
-return;
-}
-Xinha.setLoadingMessage(Xinha._lc("Loading plugin $plugin="+_11a+"$"));
-if(typeof Xinha.getPluginConstructor(_11a)!="undefined"){
-if(_11b){
-_11b(_11a);
-}
-return true;
-}
-Xinha._pluginLoadStatus[_11a]="loading";
-function multiStageLoader(_11d,_11e){
-var _11f,dir,file,_122;
-switch(_11d){
-case "start":
-_11f="old_naming";
-dir=Xinha.getPluginDir(_11e);
-file=_11e+".js";
-break;
-case "old_naming":
-_11f="unsupported";
-dir=Xinha.getPluginDir(_11e);
-file=_11e.replace(/([a-z])([A-Z])([a-z])/g,function(str,l1,l2,l3){
-return l1+"-"+l2.toLowerCase()+l3;
-}).toLowerCase()+".js";
-_122="You are using an obsolete naming scheme for the Xinha plugin "+_11e+". Please rename "+file+" to "+_11e+".js";
-break;
-case "unsupported":
-_11f="unsupported_old_name";
-dir=Xinha.getPluginDir(_11e,true);
-file=_11e+".js";
-_122="You are using the unsupported Xinha plugin "+_11e+". If you wish continued support, please see http://trac.xinha.org/ticket/1297";
-break;
-case "unsupported_old_name":
-_11f="";
-dir=Xinha.getPluginDir(_11e,true);
-file=_11e.replace(/([a-z])([A-Z])([a-z])/g,function(str,l1,l2,l3){
-return l1+"-"+l2.toLowerCase()+l3;
-}).toLowerCase()+".js";
-_122="You are using the unsupported Xinha plugin "+_11e+". If you wish continued support, please see http://trac.xinha.org/ticket/1297";
-break;
-default:
-Xinha._pluginLoadStatus[_11e]="failed";
-Xinha.debugMsg("Xinha was not able to find the plugin "+_11e+". Please make sure the plugin exists.","warn");
-return;
-}
-var url=dir+"/"+file;
-function statusCallback(_12c){
-Xinha.getPluginConstructor(_12c).supported=_11d.indexOf("unsupported")!==0;
-_11b(_12c);
-};
-Xinha._loadback(url,statusCallback,this,_11e);
-Xinha.ping(url,function(){
-if(_122){
-Xinha.debugMsg(_122);
-}
-},function(){
-Xinha.removeFromParent(document.getElementById(url));
-multiStageLoader(_11f,_11e);
-});
-};
-if(!url){
-if(Xinha.externalPlugins[_11a]){
-Xinha._loadback(Xinha.externalPlugins[_11a][0]+Xinha.externalPlugins[_11a][1],_11b,this,_11a);
-}else{
-var _12d=this;
-multiStageLoader("start",_11a);
-}
-}else{
-Xinha._loadback(url,_11b,this,_11a);
-}
-return false;
-};
-Xinha._pluginLoadStatus={};
-Xinha.externalPlugins={};
-Xinha.plugins={};
-Xinha.loadPlugins=function(_12e,_12f,url){
-if(!Xinha.isSupportedBrowser){
-return;
-}
-var m,i;
-for(i=0;i<_12e.length;i++){
-if(typeof _12e[i]=="object"){
-m=_12e[i].url.match(/(.*)(\/[^\/]*)$/);
-Xinha.externalPlugins[_12e[i].plugin]=[m[1],m[2]];
-_12e[i]=_12e[i].plugin;
-}
-}
-var _133=true;
-var _134=Xinha.cloneObject(_12e);
-for(i=0;i<_134.length;i++){
-var p=_134[i];
-if(p=="FullScreen"&&!Xinha.externalPlugins.FullScreen){
-continue;
-}
-if(typeof Xinha._pluginLoadStatus[p]=="undefined"){
-Xinha.loadPlugin(p,function(_136){
-Xinha.setLoadingMessage(Xinha._lc("Finishing"));
-if(typeof Xinha.getPluginConstructor(_136)!="undefined"){
-Xinha._pluginLoadStatus[_136]="ready";
-}else{
-Xinha._pluginLoadStatus[_136]="failed";
-}
-},url);
-_133=false;
-}else{
-if(Xinha._pluginLoadStatus[p]=="loading"){
-_133=false;
-}
-}
-}
-if(_133){
-return true;
-}
-if(_12f){
-setTimeout(function(){
-if(Xinha.loadPlugins(_12e,_12f)){
-_12f();
-}
-},50);
-}
-return _133;
-};
-Xinha.refreshPlugin=function(_137){
-if(_137&&typeof _137.onGenerate=="function"){
-_137.onGenerate();
-}
-if(_137&&typeof _137.onGenerateOnce=="function"){
-_137._ongenerateOnce=_137.onGenerateOnce;
-delete (_137.onGenerateOnce);
-_137._ongenerateOnce();
-delete (_137._ongenerateOnce);
-}
-};
-Xinha.prototype.firePluginEvent=function(_138){
-var _139=[];
-for(var i=1;i<arguments.length;i++){
-_139[i-1]=arguments[i];
-}
-for(i in this.plugins){
-var _13b=this.plugins[i].instance;
-if(_13b==this._browserSpecificPlugin){
-continue;
-}
-if(_13b&&typeof _13b[_138]=="function"){
-var _13c=(i=="Events")?this:_13b;
-if(_13b[_138].apply(_13c,_139)){
-return true;
-}
-}
-}
-_13b=this._browserSpecificPlugin;
-if(_13b&&typeof _13b[_138]=="function"){
-if(_13b[_138].apply(_13b,_139)){
-return true;
-}
-}
-return false;
-};
-Xinha.loadStyle=function(_13d,_13e,id,_140){
-var url=_editor_url||"";
-if(_13e){
-url=Xinha.getPluginDir(_13e)+"/";
-}
-url+=_13d;
-if(/^\//.test(_13d)){
-url=_13d;
-}
-var head=document.getElementsByTagName("head")[0];
-var link=document.createElement("link");
-link.rel="stylesheet";
-link.href=url;
-link.type="text/css";
-if(id){
-link.id=id;
-}
-if(_140&&head.getElementsByTagName("link")[0]){
-head.insertBefore(link,head.getElementsByTagName("link")[0]);
-}else{
-head.appendChild(link);
-}
-};
-Xinha.loadScript=function(_144,_145,_146){
-var url=_editor_url||"";
-if(_145){
-url=Xinha.getPluginDir(_145)+"/";
-}
-url+=_144;
-if(/^\//.test(_144)){
-url=_144;
-}
-Xinha._loadback(url,_146);
-};
-Xinha.includeAssets=function(){
-var _148={pendingAssets:[],loaderRunning:false,loadedScripts:[]};
-_148.callbacks=[];
-_148.loadNext=function(){
-var self=this;
-this.loaderRunning=true;
-if(this.pendingAssets.length){
-var nxt=this.pendingAssets[0];
-this.pendingAssets.splice(0,1);
-switch(nxt.type){
-case "text/css":
-Xinha.loadStyle(nxt.url,nxt.plugin);
-return this.loadNext();
-case "text/javascript":
-Xinha.loadScript(nxt.url,nxt.plugin,function(){
-self.loadNext();
-});
-}
-}else{
-this.loaderRunning=false;
-this.runCallback();
-}
-};
-_148.loadScript=function(url,_14c){
-var self=this;
-this.pendingAssets.push({"type":"text/javascript","url":url,"plugin":_14c});
-if(!this.loaderRunning){
-this.loadNext();
-}
-return this;
-};
-_148.loadScriptOnce=function(url,_14f){
-for(var i=0;i<this.loadedScripts.length;i++){
-if(this.loadedScripts[i].url==url&&this.loadedScripts[i].plugin==_14f){
-return this;
-}
-}
-return this.loadScript(url,_14f);
-};
-_148.loadStyle=function(url,_152){
-var self=this;
-this.pendingAssets.push({"type":"text/css","url":url,"plugin":_152});
-if(!this.loaderRunning){
-this.loadNext();
-}
-return this;
-};
-_148.whenReady=function(_154){
-this.callbacks.push(_154);
-if(!this.loaderRunning){
-this.loadNext();
-}
-return this;
-};
-_148.runCallback=function(){
-while(this.callbacks.length){
-var _155=this.callbacks.splice(0,1);
-_155[0]();
-_155=null;
-}
-return this;
-};
-for(var i=0;i<arguments.length;i++){
-if(typeof arguments[i]=="string"){
-if(arguments[i].match(/\.css$/i)){
-_148.loadStyle(arguments[i]);
-}else{
-_148.loadScript(arguments[i]);
-}
-}else{
-if(arguments[i].type){
-if(arguments[i].type.match(/text\/css/i)){
-_148.loadStyle(arguments[i].url,arguments[i].plugin);
-}else{
-if(arguments[i].type.match(/text\/javascript/i)){
-_148.loadScript(arguments[i].url,arguments[i].plugin);
-}
-}
-}else{
-if(arguments[i].length>=1){
-if(arguments[i][0].match(/\.css$/i)){
-_148.loadStyle(arguments[i][0],arguments[i][1]);
-}else{
-_148.loadScript(arguments[i][0],arguments[i][1]);
-}
-}
-}
-}
-}
-return _148;
-};
-Xinha.prototype.debugTree=function(){
-var ta=document.createElement("textarea");
-ta.style.width="100%";
-ta.style.height="20em";
-ta.value="";
-function debug(_158,str){
-for(;--_158>=0;){
-ta.value+=" ";
-}
-ta.value+=str+"\n";
-};
-function _dt(root,_15b){
-var tag=root.tagName.toLowerCase(),i;
-var ns=Xinha.is_ie?root.scopeName:root.prefix;
-debug(_15b,"- "+tag+" ["+ns+"]");
-for(i=root.firstChild;i;i=i.nextSibling){
-if(i.nodeType==1){
-_dt(i,_15b+2);
-}
-}
-};
-_dt(this._doc.body,0);
-document.body.appendChild(ta);
-};
-Xinha.getInnerText=function(el){
-var txt="",i;
-for(i=el.firstChild;i;i=i.nextSibling){
-if(i.nodeType==3){
-txt+=i.data;
-}else{
-if(i.nodeType==1){
-txt+=Xinha.getInnerText(i);
-}
-}
-}
-return txt;
-};
-Xinha.prototype._wordClean=function(){
-var _162=this;
-var _163={empty_tags:0,cond_comm:0,mso_elmts:0,mso_class:0,mso_style:0,mso_xmlel:0,orig_len:this._doc.body.innerHTML.length,T:new Date().getTime()};
-var _164={empty_tags:"Empty tags removed: ",cond_comm:"Conditional comments removed",mso_elmts:"MSO invalid elements removed",mso_class:"MSO class names removed: ",mso_style:"MSO inline style removed: ",mso_xmlel:"MSO XML elements stripped: "};
-function showStats(){
-var txt="Xinha word cleaner stats: \n\n";
-for(var i in _163){
-if(_164[i]){
-txt+=_164[i]+_163[i]+"\n";
-}
-}
-txt+="\nInitial document length: "+_163.orig_len+"\n";
-txt+="Final document length: "+_162._doc.body.innerHTML.length+"\n";
-txt+="Clean-up took "+((new Date().getTime()-_163.T)/1000)+" seconds";
-alert(txt);
-};
-function clearClass(node){
-var newc=node.className.replace(/(^|\s)mso.*?(\s|$)/ig," ");
-if(newc!=node.className){
-node.className=newc;
-if(!/\S/.test(node.className)){
-node.removeAttribute("className");
-++_163.mso_class;
-}
-}
-};
-function clearStyle(node){
-var _16a=node.style.cssText.split(/\s*;\s*/);
-for(var i=_16a.length;--i>=0;){
-if(/^mso|^tab-stops/i.test(_16a[i])||/^margin\s*:\s*0..\s+0..\s+0../i.test(_16a[i])){
-++_163.mso_style;
-_16a.splice(i,1);
-}
-}
-node.style.cssText=_16a.join("; ");
-};
-function removeElements(el){
-if(("link"==el.tagName.toLowerCase()&&(el.attributes&&/File-List|Edit-Time-Data|themeData|colorSchemeMapping/.test(el.attributes.rel.nodeValue)))||/^(style|meta)$/i.test(el.tagName)){
-Xinha.removeFromParent(el);
-++_163.mso_elmts;
-return true;
-}
-return false;
-};
-function checkEmpty(el){
-if(/^(a|span|b|strong|i|em|font|div|p)$/i.test(el.tagName)&&!el.firstChild){
-Xinha.removeFromParent(el);
-++_163.empty_tags;
-return true;
-}
-return false;
-};
-function parseTree(root){
-clearClass(root);
-clearStyle(root);
-var next;
-for(var i=root.firstChild;i;i=next){
-next=i.nextSibling;
-if(i.nodeType==1&&parseTree(i)){
-if((Xinha.is_ie&&root.scopeName!="HTML")||(!Xinha.is_ie&&/:/.test(i.tagName))){
-for(var _171=i.childNodes&&i.childNodes.length-1;i.childNodes&&i.childNodes.length&&i.childNodes[_171];--_171){
-if(i.nextSibling){
-i.parentNode.insertBefore(i.childNodes[_171],i.nextSibling);
-}else{
-i.parentNode.appendChild(i.childNodes[_171]);
-}
-}
-Xinha.removeFromParent(i);
-continue;
-}
-if(checkEmpty(i)){
-continue;
-}
-if(removeElements(i)){
-continue;
-}
-}else{
-if(i.nodeType==8){
-if(/(\s*\[\s*if\s*(([gl]te?|!)\s*)?(IE|mso)\s*(\d+(\.\d+)?\s*)?\]>)/.test(i.nodeValue)){
-Xinha.removeFromParent(i);
-++_163.cond_comm;
-}
-}
-}
-}
-return true;
-};
-parseTree(this._doc.body);
-this.updateToolbar();
-};
-Xinha.prototype._clearFonts=function(){
-var D=this.getInnerHTML();
-if(confirm(Xinha._lc("Would you like to clear font typefaces?"))){
-D=D.replace(/face="[^"]*"/gi,"");
-D=D.replace(/font-family:[^;}"']+;?/gi,"");
-}
-if(confirm(Xinha._lc("Would you like to clear font sizes?"))){
-D=D.replace(/size="[^"]*"/gi,"");
-D=D.replace(/font-size:[^;}"']+;?/gi,"");
-}
-if(confirm(Xinha._lc("Would you like to clear font colours?"))){
-D=D.replace(/color="[^"]*"/gi,"");
-D=D.replace(/([^\-])color:[^;}"']+;?/gi,"$1");
-}
-D=D.replace(/(style|class)="\s*"/gi,"");
-D=D.replace(/<(font|span)\s*>/gi,"");
-this.setHTML(D);
-this.updateToolbar();
-};
-Xinha.prototype._splitBlock=function(){
-this._doc.execCommand("formatblock",false,"div");
-};
-Xinha.prototype.forceRedraw=function(){
-this._doc.body.style.visibility="hidden";
-this._doc.body.style.visibility="";
-};
-Xinha.prototype.focusEditor=function(){
-switch(this._editMode){
-case "wysiwyg":
-try{
-if(Xinha._someEditorHasBeenActivated){
-this.activateEditor();
-this._iframe.contentWindow.focus();
-}
-}
-catch(ex){
-}
-break;
-case "textmode":
-try{
-this._textArea.focus();
-}
-catch(e){
-}
-break;
-default:
-alert("ERROR: mode "+this._editMode+" is not defined");
-}
-return this._doc;
-};
-Xinha.prototype._undoTakeSnapshot=function(){
-++this._undoPos;
-if(this._undoPos>=this.config.undoSteps){
-this._undoQueue.shift();
---this._undoPos;
-}
-var take=true;
-var txt=this.getInnerHTML();
-if(this._undoPos>0){
-take=(this._undoQueue[this._undoPos-1]!=txt);
-}
-if(take){
-this._undoQueue[this._undoPos]=txt;
-}else{
-this._undoPos--;
-}
-};
-Xinha.prototype.undo=function(){
-if(this._undoPos>0){
-var txt=this._undoQueue[--this._undoPos];
-if(txt){
-this.setHTML(txt);
-}else{
-++this._undoPos;
-}
-}
-};
-Xinha.prototype.redo=function(){
-if(this._undoPos<this._undoQueue.length-1){
-var txt=this._undoQueue[++this._undoPos];
-if(txt){
-this.setHTML(txt);
-}else{
---this._undoPos;
-}
-}
-};
-Xinha.prototype.disableToolbar=function(_177){
-if(this._timerToolbar){
-clearTimeout(this._timerToolbar);
-}
-if(typeof _177=="undefined"){
-_177=[];
-}else{
-if(typeof _177!="object"){
-_177=[_177];
-}
-}
-for(var i in this._toolbarObjects){
-var btn=this._toolbarObjects[i];
-if(_177.contains(i)){
-continue;
-}
-if(typeof btn.state!="function"){
-continue;
-}
-btn.state("enabled",false);
-}
-};
-Xinha.prototype.enableToolbar=function(){
-this.updateToolbar();
-};
-Xinha.prototype.updateToolbar=function(_17a){
-if(this.suspendUpdateToolbar){
-return;
-}
-var doc=this._doc;
-var text=(this._editMode=="textmode");
-var _17d=null;
-if(!text){
-_17d=this.getAllAncestors();
-if(this.config.statusBar&&!_17a){
-while(this._statusBarItems.length){
-var item=this._statusBarItems.pop();
-item.el=null;
-item.editor=null;
-item.onclick=null;
-item.oncontextmenu=null;
-item._xinha_dom0Events.click=null;
-item._xinha_dom0Events.contextmenu=null;
-item=null;
-}
-this._statusBarTree.innerHTML=" ";
-this._statusBarTree.appendChild(document.createTextNode(Xinha._lc("Path")+": "));
-for(var i=_17d.length;--i>=0;){
-var el=_17d[i];
-if(!el){
-continue;
-}
-var a=document.createElement("a");
-a.href="javascript:void(0);";
-a.el=el;
-a.editor=this;
-this._statusBarItems.push(a);
-Xinha.addDom0Event(a,"click",function(){
-this.blur();
-this.editor.selectNodeContents(this.el);
-this.editor.updateToolbar(true);
-return false;
-});
-Xinha.addDom0Event(a,"contextmenu",function(){
-this.blur();
-var info="Inline style:\n\n";
-info+=this.el.style.cssText.split(/;\s*/).join(";\n");
-alert(info);
-return false;
-});
-var txt=el.tagName.toLowerCase();
-switch(txt){
-case "b":
-txt="strong";
-break;
-case "i":
-txt="em";
-break;
-case "strike":
-txt="del";
-break;
-}
-if(typeof el.style!="undefined"){
-a.title=el.style.cssText;
-}
-if(el.id){
-txt+="#"+el.id;
-}
-if(el.className){
-txt+="."+el.className;
-}
-a.appendChild(document.createTextNode(txt));
-this._statusBarTree.appendChild(a);
-if(i!==0){
-this._statusBarTree.appendChild(document.createTextNode(String.fromCharCode(187)));
-}
-Xinha.freeLater(a);
-}
-}
-}
-for(var cmd in this._toolbarObjects){
-var btn=this._toolbarObjects[cmd];
-var _186=true;
-if(typeof btn.state!="function"){
-continue;
-}
-if(btn.context&&!text){
-_186=false;
-var _187=btn.context;
-var _188=[];
-if(/(.*)\[(.*?)\]/.test(_187)){
-_187=RegExp.$1;
-_188=RegExp.$2.split(",");
-}
-_187=_187.toLowerCase();
-var _189=(_187=="*");
-for(var k=0;k<_17d.length;++k){
-if(!_17d[k]){
-continue;
-}
-if(_189||(_17d[k].tagName.toLowerCase()==_187)){
-_186=true;
-var _18b=null;
-var att=null;
-var comp=null;
-var _18e=null;
-for(var ka=0;ka<_188.length;++ka){
-_18b=_188[ka].match(/(.*)(==|!=|===|!==|>|>=|<|<=)(.*)/);
-att=_18b[1];
-comp=_18b[2];
-_18e=_18b[3];
-if(!eval(_17d[k][att]+comp+_18e)){
-_186=false;
-break;
-}
-}
-if(_186){
-break;
-}
-}
-}
-}
-btn.state("enabled",(!text||btn.text)&&_186);
-if(typeof cmd=="function"){
-continue;
-}
-var _190=this.config.customSelects[cmd];
-if((!text||btn.text)&&(typeof _190!="undefined")){
-_190.refresh(this);
-continue;
-}
-switch(cmd){
-case "fontname":
-case "fontsize":
-if(!text){
-try{
-var _191=(""+doc.queryCommandValue(cmd)).toLowerCase();
-if(!_191){
-btn.element.selectedIndex=0;
-break;
-}
-var _192=this.config[cmd];
-var _193=0;
-for(var j in _192){
-if((j.toLowerCase()==_191)||(_192[j].substr(0,_191.length).toLowerCase()==_191)){
-btn.element.selectedIndex=_193;
-throw "ok";
-}
-++_193;
-}
-btn.element.selectedIndex=0;
-}
-catch(ex){
-}
-}
-break;
-case "formatblock":
-var _195=[];
-for(var _196 in this.config.formatblock){
-if(typeof this.config.formatblock[_196]=="string"){
-_195[_195.length]=this.config.formatblock[_196];
-}
-}
-var _197=this._getFirstAncestor(this.getSelection(),_195);
-if(_197){
-for(var x=0;x<_195.length;x++){
-if(_195[x].toLowerCase()==_197.tagName.toLowerCase()){
-btn.element.selectedIndex=x;
-}
-}
-}else{
-btn.element.selectedIndex=0;
-}
-break;
-case "textindicator":
-if(!text){
-try{
-var _199=btn.element.style;
-_199.backgroundColor=Xinha._makeColor(doc.queryCommandValue(Xinha.is_ie?"backcolor":"hilitecolor"));
-if(/transparent/i.test(_199.backgroundColor)){
-_199.backgroundColor=Xinha._makeColor(doc.queryCommandValue("backcolor"));
-}
-_199.color=Xinha._makeColor(doc.queryCommandValue("forecolor"));
-_199.fontFamily=doc.queryCommandValue("fontname");
-_199.fontWeight=doc.queryCommandState("bold")?"bold":"normal";
-_199.fontStyle=doc.queryCommandState("italic")?"italic":"normal";
-}
-catch(ex){
-}
-}
-break;
-case "htmlmode":
-btn.state("active",text);
-break;
-case "lefttoright":
-case "righttoleft":
-var _19a=this.getParentElement();
-while(_19a&&!Xinha.isBlockElement(_19a)){
-_19a=_19a.parentNode;
-}
-if(_19a){
-btn.state("active",(_19a.style.direction==((cmd=="righttoleft")?"rtl":"ltr")));
-}
-break;
-default:
-cmd=cmd.replace(/(un)?orderedlist/i,"insert$1orderedlist");
-try{
-btn.state("active",(!text&&doc.queryCommandState(cmd)));
-}
-catch(ex){
-}
-break;
-}
-}
-if(this._customUndo&&!this._timerUndo){
-this._undoTakeSnapshot();
-var _19b=this;
-this._timerUndo=setTimeout(function(){
-_19b._timerUndo=null;
-},this.config.undoTimeout);
-}
-this.firePluginEvent("onUpdateToolbar");
-};
-Xinha.getEditor=function(ref){
-for(var i=__xinhas.length;i--;){
-var _19e=__xinhas[i];
-if(_19e&&(_19e._textArea.id==ref||_19e._textArea.name==ref||_19e._textArea==ref)){
-return _19e;
-}
-}
-return null;
-};
-Xinha.prototype.getPluginInstance=function(_19f){
-if(this.plugins[_19f]){
-return this.plugins[_19f].instance;
-}else{
-return null;
-}
-};
-Xinha.prototype.getAllAncestors=function(){
-var p=this.getParentElement();
-var a=[];
-while(p&&(p.nodeType==1)&&(p.tagName.toLowerCase()!="body")){
-a.push(p);
-p=p.parentNode;
-}
-a.push(this._doc.body);
-return a;
-};
-Xinha.prototype._getFirstAncestor=function(sel,_1a3){
-var prnt=this.activeElement(sel);
-if(prnt===null){
-try{
-prnt=(Xinha.is_ie?this.createRange(sel).parentElement():this.createRange(sel).commonAncestorContainer);
-}
-catch(ex){
-return null;
-}
-}
-if(typeof _1a3=="string"){
-_1a3=[_1a3];
-}
-while(prnt){
-if(prnt.nodeType==1){
-if(_1a3===null){
-return prnt;
-}
-for(var _1a5=0;_1a5<_1a3.length;++_1a5){
-if(typeof _1a3[_1a5]=="string"&&_1a3[_1a5]==prnt.tagName.toLowerCase()){
-return prnt;
-}else{
-if(typeof _1a3[_1a5]=="function"&&_1a3[_1a5](this,prnt)){
-return prnt;
-}
-}
-}
-if(prnt.tagName.toLowerCase()=="body"){
-break;
-}
-if(prnt.tagName.toLowerCase()=="table"){
-break;
-}
-}
-prnt=prnt.parentNode;
-}
-return null;
-};
-Xinha.prototype._getAncestorBlock=function(sel){
-var prnt=(Xinha.is_ie?this.createRange(sel).parentElement:this.createRange(sel).commonAncestorContainer);
-while(prnt&&(prnt.nodeType==1)){
-switch(prnt.tagName.toLowerCase()){
-case "div":
-case "p":
-case "address":
-case "blockquote":
-case "center":
-case "del":
-case "ins":
-case "pre":
-case "h1":
-case "h2":
-case "h3":
-case "h4":
-case "h5":
-case "h6":
-case "h7":
-return prnt;
-case "body":
-case "noframes":
-case "dd":
-case "li":
-case "th":
-case "td":
-case "noscript":
-return null;
-default:
-break;
-}
-}
-return null;
-};
-Xinha.prototype._createImplicitBlock=function(type){
-var sel=this.getSelection();
-if(Xinha.is_ie){
-sel.empty();
-}else{
-sel.collapseToStart();
-}
-var rng=this.createRange(sel);
-};
-Xinha.prototype.surroundHTML=function(_1ab,_1ac){
-var html=this.getSelectedHTML();
-this.insertHTML(_1ab+html+_1ac);
-};
-Xinha.prototype.hasSelectedText=function(){
-return this.getSelectedHTML()!=="";
-};
-Xinha.prototype._comboSelected=function(el,txt){
-this.focusEditor();
-var _1b0=el.options[el.selectedIndex].value;
-switch(txt){
-case "fontname":
-case "fontsize":
-this.execCommand(txt,false,_1b0);
-break;
-case "formatblock":
-if(!_1b0){
-this.updateToolbar();
-break;
-}
-if(!Xinha.is_gecko||_1b0!=="blockquote"){
-_1b0="<"+_1b0+">";
-}
-this.execCommand(txt,false,_1b0);
-break;
-default:
-var _1b1=this.config.customSelects[txt];
-if(typeof _1b1!="undefined"){
-_1b1.action(this,_1b0,el,txt);
-}else{
-alert("FIXME: combo box "+txt+" not implemented");
-}
-break;
-}
-};
-Xinha.prototype._colorSelector=function(_1b2){
-var _1b3=this;
-if(Xinha.is_gecko){
-try{
-_1b3._doc.execCommand("useCSS",false,false);
-_1b3._doc.execCommand("styleWithCSS",false,true);
-}
-catch(ex){
-}
-}
-var btn=_1b3._toolbarObjects[_1b2].element;
-var _1b5;
-if(_1b2=="hilitecolor"){
-if(Xinha.is_ie){
-_1b2="backcolor";
-_1b5=Xinha._colorToRgb(_1b3._doc.queryCommandValue("backcolor"));
-}else{
-_1b5=Xinha._colorToRgb(_1b3._doc.queryCommandValue("hilitecolor"));
-}
-}else{
-_1b5=Xinha._colorToRgb(_1b3._doc.queryCommandValue("forecolor"));
-}
-var _1b6=function(_1b7){
-_1b3._doc.execCommand(_1b2,false,_1b7);
-};
-if(Xinha.is_ie){
-var _1b8=_1b3.createRange(_1b3.getSelection());
-_1b6=function(_1b9){
-_1b8.select();
-_1b3._doc.execCommand(_1b2,false,_1b9);
-};
-}
-var _1ba=new Xinha.colorPicker({cellsize:_1b3.config.colorPickerCellSize,callback:_1b6,granularity:_1b3.config.colorPickerGranularity,websafe:_1b3.config.colorPickerWebSafe,savecolors:_1b3.config.colorPickerSaveColors});
-_1ba.open(_1b3.config.colorPickerPosition,btn,_1b5);
-};
-Xinha.prototype.execCommand=function(_1bb,UI,_1bd){
-var _1be=this;
-this.focusEditor();
-_1bb=_1bb.toLowerCase();
-if(this.firePluginEvent("onExecCommand",_1bb,UI,_1bd)){
-this.updateToolbar();
-return false;
-}
-switch(_1bb){
-case "htmlmode":
-this.setMode();
-break;
-case "hilitecolor":
-case "forecolor":
-this._colorSelector(_1bb);
-break;
-case "createlink":
-this._createLink();
-break;
-case "undo":
-case "redo":
-if(this._customUndo){
-this[_1bb]();
-}else{
-this._doc.execCommand(_1bb,UI,_1bd);
-}
-break;
-case "inserttable":
-this._insertTable();
-break;
-case "insertimage":
-this._insertImage();
-break;
-case "showhelp":
-this._popupDialog(_1be.config.URIs.help,null,this);
-break;
-case "killword":
-this._wordClean();
-break;
-case "cut":
-case "copy":
-case "paste":
-this._doc.execCommand(_1bb,UI,_1bd);
-if(this.config.killWordOnPaste){
-this._wordClean();
-}
-break;
-case "lefttoright":
-case "righttoleft":
-if(this.config.changeJustifyWithDirection){
-this._doc.execCommand((_1bb=="righttoleft")?"justifyright":"justifyleft",UI,_1bd);
-}
-var dir=(_1bb=="righttoleft")?"rtl":"ltr";
-var el=this.getParentElement();
-while(el&&!Xinha.isBlockElement(el)){
-el=el.parentNode;
-}
-if(el){
-if(el.style.direction==dir){
-el.style.direction="";
-}else{
-el.style.direction=dir;
-}
-}
-break;
-case "justifyleft":
-case "justifyright":
-_1bb.match(/^justify(.*)$/);
-var ae=this.activeElement(this.getSelection());
-if(ae&&ae.tagName.toLowerCase()=="img"){
-ae.align=ae.align==RegExp.$1?"":RegExp.$1;
-}else{
-this._doc.execCommand(_1bb,UI,_1bd);
-}
-break;
-default:
-try{
-this._doc.execCommand(_1bb,UI,_1bd);
-}
-catch(ex){
-if(this.config.debug){
-alert(ex+"\n\nby execCommand("+_1bb+");");
-}
-}
-break;
-}
-this.updateToolbar();
-return false;
-};
-Xinha.prototype._editorEvent=function(ev){
-var _1c3=this;
-if(typeof _1c3._textArea["on"+ev.type]=="function"){
-_1c3._textArea["on"+ev.type](ev);
-}
-if(this.isKeyEvent(ev)){
-if(_1c3.firePluginEvent("onKeyPress",ev)){
-return false;
-}
-if(this.isShortCut(ev)){
-this._shortCuts(ev);
-}
-}
-if(ev.type=="mousedown"){
-if(_1c3.firePluginEvent("onMouseDown",ev)){
-return false;
-}
-}
-if(_1c3._timerToolbar){
-clearTimeout(_1c3._timerToolbar);
-}
-if(!this.suspendUpdateToolbar){
-_1c3._timerToolbar=setTimeout(function(){
-_1c3.updateToolbar();
-_1c3._timerToolbar=null;
-},250);
-}
-};
-Xinha.prototype._onDoubleClick=function(ev){
-var _1c5=this;
-var _1c6=Xinha.is_ie?ev.srcElement:ev.target;
-var tag=_1c6.tagName;
-var _1c8=_1c6.className;
-if(tag){
-tag=tag.toLowerCase();
-if(_1c8&&(this.config.dblclickList[tag+"."+_1c8]!=undefined)){
-this.config.dblclickList[tag+"."+_1c8][0](_1c5,_1c6);
-}else{
-if(this.config.dblclickList[tag]!=undefined){
-this.config.dblclickList[tag][0](_1c5,_1c6);
-}
-}
-}
-};
-Xinha.prototype._shortCuts=function(ev){
-var key=this.getKey(ev).toLowerCase();
-var cmd=null;
-var _1cc=null;
-switch(key){
-case "b":
-cmd="bold";
-break;
-case "i":
-cmd="italic";
-break;
-case "u":
-cmd="underline";
-break;
-case "s":
-cmd="strikethrough";
-break;
-case "l":
-cmd="justifyleft";
-break;
-case "e":
-cmd="justifycenter";
-break;
-case "r":
-cmd="justifyright";
-break;
-case "j":
-cmd="justifyfull";
-break;
-case "z":
-cmd="undo";
-break;
-case "y":
-cmd="redo";
-break;
-case "v":
-cmd="paste";
-break;
-case "n":
-cmd="formatblock";
-_1cc="p";
-break;
-case "0":
-cmd="killword";
-break;
-case "1":
-case "2":
-case "3":
-case "4":
-case "5":
-case "6":
-cmd="formatblock";
-_1cc="h"+key;
-break;
-}
-if(cmd){
-this.execCommand(cmd,false,_1cc);
-Xinha._stopEvent(ev);
-}
-};
-Xinha.prototype.convertNode=function(el,_1ce){
-var _1cf=this._doc.createElement(_1ce);
-while(el.firstChild){
-_1cf.appendChild(el.firstChild);
-}
-return _1cf;
-};
-Xinha.prototype.scrollToElement=function(e){
-if(!e){
-e=this.getParentElement();
-if(!e){
-return;
-}
-}
-var _1d1=Xinha.getElementTopLeft(e);
-this._iframe.contentWindow.scrollTo(_1d1.left,_1d1.top);
-};
-Xinha.prototype.getEditorContent=function(){
-return this.outwardHtml(this.getHTML());
-};
-Xinha.prototype.setEditorContent=function(html){
-this.setHTML(this.inwardHtml(html));
-};
-Xinha.updateTextareas=function(){
-var e;
-for(var i=0;i<__xinhas.length;i++){
-e=__xinhas[i];
-e._textArea.value=e.getEditorContent();
-}
-};
-Xinha.prototype.getHTML=function(){
-var html="";
-switch(this._editMode){
-case "wysiwyg":
-if(!this.config.fullPage){
-html=Xinha.getHTML(this._doc.body,false,this).trim();
-}else{
-html=this.doctype+"\n"+Xinha.getHTML(this._doc.documentElement,true,this);
-}
-break;
-case "textmode":
-html=this._textArea.value;
-break;
-default:
-alert("Mode <"+this._editMode+"> not defined!");
-return false;
-}
-return html;
-};
-Xinha.prototype.outwardHtml=function(html){
-for(var i in this.plugins){
-var _1d8=this.plugins[i].instance;
-if(_1d8&&typeof _1d8.outwardHtml=="function"){
-html=_1d8.outwardHtml(html);
-}
-}
-html=html.replace(/<(\/?)b(\s|>|\/)/ig,"<$1strong$2");
-html=html.replace(/<(\/?)i(\s|>|\/)/ig,"<$1em$2");
-html=html.replace(/<(\/?)strike(\s|>|\/)/ig,"<$1del$2");
-html=html.replace(/(<[^>]*on(click|mouse(over|out|up|down))=['"])if\(window\.parent &amp;&amp; window\.parent\.Xinha\)\{return false\}/gi,"$1");
-var _1d9=location.href.replace(/(https?:\/\/[^\/]*)\/.*/,"$1")+"/";
-html=html.replace(/https?:\/\/null\//g,_1d9);
-html=html.replace(/((href|src|background)=[\'\"])\/+/ig,"$1"+_1d9);
-html=this.outwardSpecialReplacements(html);
-html=this.fixRelativeLinks(html);
-if(this.config.sevenBitClean){
-html=html.replace(/[^ -~\r\n\t]/g,function(c){
-return (c!=Xinha.cc)?"&#"+c.charCodeAt(0)+";":c;
-});
-}
-html=html.replace(/(<script[^>]*((type=[\"\']text\/)|(language=[\"\'])))(freezescript)/gi,"$1javascript");
-if(this.config.fullPage){
-html=Xinha.stripCoreCSS(html);
-}
-if(typeof this.config.outwardHtml=="function"){
-html=this.config.outwardHtml(html);
-}
-return html;
-};
-Xinha.prototype.inwardHtml=function(html){
-for(var i in this.plugins){
-var _1dd=this.plugins[i].instance;
-if(_1dd&&typeof _1dd.inwardHtml=="function"){
-html=_1dd.inwardHtml(html);
-}
-}
-html=html.replace(/<(\/?)del(\s|>|\/)/ig,"<$1strike$2");
-html=html.replace(/(<[^>]*on(click|mouse(over|out|up|down))=["'])/gi,"$1if(window.parent &amp;&amp; window.parent.Xinha){return false}");
-html=this.inwardSpecialReplacements(html);
-html=html.replace(/(<script[^>]*((type=[\"\']text\/)|(language=[\"\'])))(javascript)/gi,"$1freezescript");
-var _1de=new RegExp("((href|src|background)=['\"])/+","gi");
-html=html.replace(_1de,"$1"+location.href.replace(/(https?:\/\/[^\/]*)\/.*/,"$1")+"/");
-html=this.fixRelativeLinks(html);
-if(this.config.fullPage){
-html=Xinha.addCoreCSS(html);
-}
-if(typeof this.config.inwardHtml=="function"){
-html=this.config.inwardHtml(html);
-}
-return html;
-};
-Xinha.prototype.outwardSpecialReplacements=function(html){
-for(var i in this.config.specialReplacements){
-var from=this.config.specialReplacements[i];
-var to=i;
-if(typeof from.replace!="function"||typeof to.replace!="function"){
-continue;
-}
-var reg=new RegExp(Xinha.escapeStringForRegExp(from),"g");
-html=html.replace(reg,to.replace(/\$/g,"$$$$"));
-}
-return html;
-};
-Xinha.prototype.inwardSpecialReplacements=function(html){
-for(var i in this.config.specialReplacements){
-var from=i;
-var to=this.config.specialReplacements[i];
-if(typeof from.replace!="function"||typeof to.replace!="function"){
-continue;
-}
-var reg=new RegExp(Xinha.escapeStringForRegExp(from),"g");
-html=html.replace(reg,to.replace(/\$/g,"$$$$"));
-}
-return html;
-};
-Xinha.prototype.fixRelativeLinks=function(html){
-if(typeof this.config.expandRelativeUrl!="undefined"&&this.config.expandRelativeUrl){
-if(html==null){
-return "";
-}
-var src=html.match(/(src|href)="([^"]*)"/gi);
-var b=document.location.href;
-if(src){
-var url,_1ed,_1ee,_1ef,_1f0;
-for(var i=0;i<src.length;++i){
-url=src[i].match(/(src|href)="([^"]*)"/i);
-_1ed=url[2].match(/\.\.\//g);
-if(_1ed){
-_1ee=new RegExp("(.*?)(([^/]*/){"+_1ed.length+"})[^/]*$");
-_1ef=b.match(_1ee);
-_1f0=url[2].replace(/(\.\.\/)*/,_1ef[1]);
-html=html.replace(new RegExp(Xinha.escapeStringForRegExp(url[2])),_1f0);
-}
-}
-}
-}
-if(typeof this.config.stripSelfNamedAnchors!="undefined"&&this.config.stripSelfNamedAnchors){
-var _1f2=new RegExp("((href|src|background)=\")("+Xinha.escapeStringForRegExp(window.unescape(document.location.href.replace(/&/g,"&amp;")))+")([#?][^'\" ]*)","g");
-html=html.replace(_1f2,"$1$4");
-}
-if(typeof this.config.stripBaseHref!="undefined"&&this.config.stripBaseHref){
-var _1f3=null;
-if(typeof this.config.baseHref!="undefined"&&this.config.baseHref!==null){
-_1f3=new RegExp("((href|src|background|action)=\")("+Xinha.escapeStringForRegExp(this.config.baseHref.replace(/([^\/]\/)(?=.+\.)[^\/]*$/,"$1"))+")","g");
-html=html.replace(_1f3,"$1");
-}
-_1f3=new RegExp("((href|src|background|action)=\")("+Xinha.escapeStringForRegExp(document.location.href.replace(/^(https?:\/\/[^\/]*)(.*)/,"$1"))+")","g");
-html=html.replace(_1f3,"$1");
-}
-return html;
-};
-Xinha.prototype.getInnerHTML=function(){
-if(!this._doc.body){
-return "";
-}
-var html="";
-switch(this._editMode){
-case "wysiwyg":
-if(!this.config.fullPage){
-html=this._doc.body.innerHTML;
-}else{
-html=this.doctype+"\n"+this._doc.documentElement.innerHTML;
-}
-break;
-case "textmode":
-html=this._textArea.value;
-break;
-default:
-alert("Mode <"+this._editMode+"> not defined!");
-return false;
-}
-return html;
-};
-Xinha.prototype.setHTML=function(html){
-if(!this.config.fullPage){
-this._doc.body.innerHTML=html;
-}else{
-this.setFullHTML(html);
-}
-this._textArea.value=html;
-};
-Xinha.prototype.setDoctype=function(_1f6){
-this.doctype=_1f6;
-};
-Xinha._object=null;
-Array.prototype.isArray=true;
-RegExp.prototype.isRegExp=true;
-Xinha.cloneObject=function(obj){
-if(!obj){
-return null;
-}
-var _1f8=obj.isArray?[]:{};
-if(obj.constructor.toString().match(/\s*function Function\(/)||typeof obj=="function"){
-_1f8=obj;
-}else{
-if(obj.isRegExp){
-_1f8=eval(obj.toString());
-}else{
-for(var n in obj){
-var node=obj[n];
-if(typeof node=="object"){
-_1f8[n]=Xinha.cloneObject(node);
-}else{
-_1f8[n]=node;
-}
-}
-}
-}
-return _1f8;
-};
-Xinha.extend=function(_1fb,_1fc){
-function inheritance(){
-};
-inheritance.prototype=_1fc.prototype;
-_1fb.prototype=new inheritance();
-_1fb.prototype.constructor=_1fb;
-_1fb.parentConstructor=_1fc;
-_1fb.superClass=_1fc.prototype;
-};
-Xinha.flushEvents=function(){
-var x=0;
-var e=Xinha._eventFlushers.pop();
-while(e){
-try{
-if(e.length==3){
-Xinha._removeEvent(e[0],e[1],e[2]);
-x++;
-}else{
-if(e.length==2){
-e[0]["on"+e[1]]=null;
-e[0]._xinha_dom0Events[e[1]]=null;
-x++;
-}
-}
-}
-catch(ex){
-}
-e=Xinha._eventFlushers.pop();
-}
-};
-Xinha._eventFlushers=[];
-if(document.addEventListener){
-Xinha._addEvent=function(el,_200,func){
-el.addEventListener(_200,func,false);
-Xinha._eventFlushers.push([el,_200,func]);
-};
-Xinha._removeEvent=function(el,_203,func){
-el.removeEventListener(_203,func,false);
-};
-Xinha._stopEvent=function(ev){
-ev.preventDefault();
-ev.stopPropagation();
-};
-}else{
-if(document.attachEvent){
-Xinha._addEvent=function(el,_207,func){
-el.attachEvent("on"+_207,func);
-Xinha._eventFlushers.push([el,_207,func]);
-};
-Xinha._removeEvent=function(el,_20a,func){
-el.detachEvent("on"+_20a,func);
-};
-Xinha._stopEvent=function(ev){
-try{
-ev.cancelBubble=true;
-ev.returnValue=false;
-}
-catch(ex){
-}
-};
-}else{
-Xinha._addEvent=function(el,_20e,func){
-alert("_addEvent is not supported");
-};
-Xinha._removeEvent=function(el,_211,func){
-alert("_removeEvent is not supported");
-};
-Xinha._stopEvent=function(ev){
-alert("_stopEvent is not supported");
-};
-}
-}
-Xinha._addEvents=function(el,evs,func){
-for(var i=evs.length;--i>=0;){
-Xinha._addEvent(el,evs[i],func);
-}
-};
-Xinha._removeEvents=function(el,evs,func){
-for(var i=evs.length;--i>=0;){
-Xinha._removeEvent(el,evs[i],func);
-}
-};
-Xinha.addOnloadHandler=function(func,_21d){
-_21d=_21d?_21d:window;
-var init=function(){
-if(arguments.callee.done){
-return;
-}
-arguments.callee.done=true;
-if(Xinha.onloadTimer){
-clearInterval(Xinha.onloadTimer);
-}
-func();
-};
-if(Xinha.is_ie){
-document.attachEvent("onreadystatechange",function(){
-if(document.readyState==="complete"){
-document.detachEvent("onreadystatechange",arguments.callee);
-init();
-}
-});
-if(document.documentElement.doScroll&&typeof window.frameElement==="undefined"){
-(function(){
-if(arguments.callee.done){
-return;
-}
-try{
-document.documentElement.doScroll("left");
-}
-catch(error){
-setTimeout(arguments.callee,0);
-return;
-}
-init();
-})();
-}
-}else{
-if(/applewebkit|KHTML/i.test(navigator.userAgent)){
-Xinha.onloadTimer=_21d.setInterval(function(){
-if(/loaded|complete/.test(_21d.document.readyState)){
-init();
-}
-},10);
-}else{
-_21d.document.addEventListener("DOMContentLoaded",init,false);
-}
-}
-Xinha._addEvent(_21d,"load",init);
-};
-Xinha.addDom0Event=function(el,ev,fn){
-Xinha._prepareForDom0Events(el,ev);
-el._xinha_dom0Events[ev].unshift(fn);
-};
-Xinha.prependDom0Event=function(el,ev,fn){
-Xinha._prepareForDom0Events(el,ev);
-el._xinha_dom0Events[ev].push(fn);
-};
-Xinha.getEvent=function(ev){
-return ev||window.event;
-};
-Xinha._prepareForDom0Events=function(el,ev){
-if(typeof el._xinha_dom0Events=="undefined"){
-el._xinha_dom0Events={};
-Xinha.freeLater(el,"_xinha_dom0Events");
-}
-if(typeof el._xinha_dom0Events[ev]=="undefined"){
-el._xinha_dom0Events[ev]=[];
-if(typeof el["on"+ev]=="function"){
-el._xinha_dom0Events[ev].push(el["on"+ev]);
-}
-el["on"+ev]=function(_228){
-var a=el._xinha_dom0Events[ev];
-var _22a=true;
-for(var i=a.length;--i>=0;){
-el._xinha_tempEventHandler=a[i];
-if(el._xinha_tempEventHandler(_228)===false){
-el._xinha_tempEventHandler=null;
-_22a=false;
-break;
-}
-el._xinha_tempEventHandler=null;
-}
-return _22a;
-};
-Xinha._eventFlushers.push([el,ev]);
-}
-};
-Xinha.prototype.notifyOn=function(ev,fn){
-if(typeof this._notifyListeners[ev]=="undefined"){
-this._notifyListeners[ev]=[];
-Xinha.freeLater(this,"_notifyListeners");
-}
-this._notifyListeners[ev].push(fn);
-};
-Xinha.prototype.notifyOf=function(ev,args){
-if(this._notifyListeners[ev]){
-for(var i=0;i<this._notifyListeners[ev].length;i++){
-this._notifyListeners[ev][i](ev,args);
-}
-}
-};
-Xinha._blockTags=" body form textarea fieldset ul ol dl li div "+"p h1 h2 h3 h4 h5 h6 quote pre table thead "+"tbody tfoot tr td th iframe address blockquote title meta link style head ";
-Xinha.isBlockElement=function(el){
-return el&&el.nodeType==1&&(Xinha._blockTags.indexOf(" "+el.tagName.toLowerCase()+" ")!=-1);
-};
-Xinha._paraContainerTags=" body td th caption fieldset div ";
-Xinha.isParaContainer=function(el){
-return el&&el.nodeType==1&&(Xinha._paraContainerTags.indexOf(" "+el.tagName.toLowerCase()+" ")!=-1);
-};
-Xinha._closingTags=" a abbr acronym address applet b bdo big blockquote button caption center cite code del dfn dir div dl em fieldset font form frameset h1 h2 h3 h4 h5 h6 i iframe ins kbd label legend map menu noframes noscript object ol optgroup pre q s samp script select small span strike strong style sub sup table textarea title tt u ul var ";
-Xinha.needsClosingTag=function(el){
-return el&&el.nodeType==1&&(Xinha._closingTags.indexOf(" "+el.tagName.toLowerCase()+" ")!=-1);
-};
-Xinha.htmlEncode=function(str){
-if(!str){
-return "";
-}
-if(typeof str.replace=="undefined"){
-str=str.toString();
-}
-str=str.replace(/&/ig,"&amp;");
-str=str.replace(/</ig,"&lt;");
-str=str.replace(/>/ig,"&gt;");
-str=str.replace(/\xA0/g,"&nbsp;");
-str=str.replace(/\x22/g,"&quot;");
-return str;
-};
-Xinha.prototype.stripBaseURL=function(_235){
-if(this.config.baseHref===null||!this.config.stripBaseHref){
-return _235;
-}
-var _236=this.config.baseHref.replace(/^(https?:\/\/[^\/]+)(.*)$/,"$1");
-var _237=new RegExp(_236);
-return _235.replace(_237,"");
-};
-if(typeof String.prototype.trim!="function"){
-String.prototype.trim=function(){
-return this.replace(/^\s+/,"").replace(/\s+$/,"");
-};
-}
-Xinha._makeColor=function(v){
-if(typeof v!="number"){
-return v;
-}
-var r=v&255;
-var g=(v>>8)&255;
-var b=(v>>16)&255;
-return "rgb("+r+","+g+","+b+")";
-};
-Xinha._colorToRgb=function(v){
-if(!v){
-return "";
-}
-var r,g,b;
-function hex(d){
-return (d<16)?("0"+d.toString(16)):d.toString(16);
-};
-if(typeof v=="number"){
-r=v&255;
-g=(v>>8)&255;
-b=(v>>16)&255;
-return "#"+hex(r)+hex(g)+hex(b);
-}
-if(v.substr(0,3)=="rgb"){
-var re=/rgb\s*\(\s*([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\s*\)/;
-if(v.match(re)){
-r=parseInt(RegExp.$1,10);
-g=parseInt(RegExp.$2,10);
-b=parseInt(RegExp.$3,10);
-return "#"+hex(r)+hex(g)+hex(b);
-}
-return null;
-}
-if(v.substr(0,1)=="#"){
-return v;
-}
-return null;
-};
-Xinha.prototype._popupDialog=function(url,_243,init){
-Dialog(this.popupURL(url),_243,init);
-};
-Xinha.prototype.imgURL=function(file,_246){
-if(typeof _246=="undefined"){
-return _editor_url+file;
-}else{
-return Xinha.getPluginDir(_246)+"/img/"+file;
-}
-};
-Xinha.prototype.popupURL=function(file){
-var url="";
-if(file.match(/^plugin:\/\/(.*?)\/(.*)/)){
-var _249=RegExp.$1;
-var _24a=RegExp.$2;
-if(!/\.(html?|php)$/.test(_24a)){
-_24a+=".html";
-}
-url=Xinha.getPluginDir(_249)+"/popups/"+_24a;
-}else{
-if(file.match(/^\/.*?/)||file.match(/^https?:\/\//)){
-url=file;
-}else{
-url=_editor_url+this.config.popupURL+file;
-}
-}
-return url;
-};
-Xinha.getElementById=function(tag,id){
-var el,i,objs=document.getElementsByTagName(tag);
-for(i=objs.length;--i>=0&&(el=objs[i]);){
-if(el.id==id){
-return el;
-}
-}
-return null;
-};
-Xinha.prototype._toggleBorders=function(){
-var _250=this._doc.getElementsByTagName("TABLE");
-if(_250.length!==0){
-if(!this.borders){
-this.borders=true;
-}else{
-this.borders=false;
-}
-for(var i=0;i<_250.length;i++){
-if(this.borders){
-Xinha._addClass(_250[i],"htmtableborders");
-}else{
-Xinha._removeClass(_250[i],"htmtableborders");
-}
-}
-}
-return true;
-};
-Xinha.addCoreCSS=function(html){
-var _253="<style title=\"XinhaInternalCSS\" type=\"text/css\">"+".htmtableborders, .htmtableborders td, .htmtableborders th {border : 1px dashed lightgrey ! important;}\n"+"html, body { border: 0px; } \n"+"body { background-color: #ffffff; } \n"+"img, hr { cursor: default } \n"+"</style>\n";
-if(html&&/<head>/i.test(html)){
-return html.replace(/<head>/i,"<head>"+_253);
-}else{
-if(html){
-return _253+html;
-}else{
-return _253;
-}
-}
-};
-Xinha.prototype.addEditorStylesheet=function(_254){
-var _255=this._doc.createElement("link");
-_255.rel="stylesheet";
-_255.type="text/css";
-_255.title="XinhaInternalCSS";
-_255.href=_254;
-this._doc.getElementsByTagName("HEAD")[0].appendChild(_255);
-};
-Xinha.stripCoreCSS=function(html){
-return html.replace(/<style[^>]+title="XinhaInternalCSS"(.|\n)*?<\/style>/ig,"").replace(/<link[^>]+title="XinhaInternalCSS"(.|\n)*?>/ig,"");
-};
-Xinha._removeClass=function(el,_258){
-if(!(el&&el.className)){
-return;
-}
-var cls=el.className.split(" ");
-var ar=[];
-for(var i=cls.length;i>0;){
-if(cls[--i]!=_258){
-ar[ar.length]=cls[i];
-}
-}
-el.className=ar.join(" ");
-};
-Xinha._addClass=function(el,_25d){
-Xinha._removeClass(el,_25d);
-el.className+=" "+_25d;
-};
-Xinha.addClasses=function(el,_25f){
-if(el!==null){
-var _260=el.className.trim().split(" ");
-var ours=_25f.split(" ");
-for(var x=0;x<ours.length;x++){
-var _263=false;
-for(var i=0;_263===false&&i<_260.length;i++){
-if(_260[i]==ours[x]){
-_263=true;
-}
-}
-if(_263===false){
-_260[_260.length]=ours[x];
-}
-}
-el.className=_260.join(" ").trim();
-}
-};
-Xinha.removeClasses=function(el,_266){
-var _267=el.className.trim().split();
-var _268=[];
-var _269=_266.trim().split();
-for(var i=0;i<_267.length;i++){
-var _26b=false;
-for(var x=0;x<_269.length&&!_26b;x++){
-if(_267[i]==_269[x]){
-_26b=true;
-}
-}
-if(!_26b){
-_268[_268.length]=_267[i];
-}
-}
-return _268.join(" ");
-};
-Xinha.addClass=Xinha._addClass;
-Xinha.removeClass=Xinha._removeClass;
-Xinha._addClasses=Xinha.addClasses;
-Xinha._removeClasses=Xinha.removeClasses;
-Xinha._hasClass=function(el,_26e){
-if(!(el&&el.className)){
-return false;
-}
-var cls=el.className.split(" ");
-for(var i=cls.length;i>0;){
-if(cls[--i]==_26e){
-return true;
-}
-}
-return false;
-};
-Xinha._postback_send_charset=true;
-Xinha._postback=function(url,data,_273,_274){
-var req=null;
-req=Xinha.getXMLHTTPRequestObject();
-var _276="";
-if(typeof data=="string"){
-_276=data;
-}else{
-if(typeof data=="object"){
-for(var i in data){
-_276+=(_276.length?"&":"")+i+"="+encodeURIComponent(data[i]);
-}
-}
-}
-function callBack(){
-if(req.readyState==4){
-if(((req.status/100)==2)||Xinha.isRunLocally&&req.status===0){
-if(typeof _273=="function"){
-_273(req.responseText,req);
-}
-}else{
-if(Xinha._postback_send_charset){
-Xinha._postback_send_charset=false;
-Xinha._postback(url,data,_273,_274);
-}else{
-if(typeof _274=="function"){
-_274(req);
-}else{
-alert("An error has occurred: "+req.statusText+"\nURL: "+url);
-}
-}
-}
-}
-};
-req.onreadystatechange=callBack;
-req.open("POST",url,true);
-req.setRequestHeader("Content-Type","application/x-www-form-urlencoded"+(Xinha._postback_send_charset?"; charset=UTF-8":""));
-req.send(_276);
-};
-Xinha._getback=function(url,_279,_27a){
-var req=null;
-req=Xinha.getXMLHTTPRequestObject();
-function callBack(){
-if(req.readyState==4){
-if(((req.status/100)==2)||Xinha.isRunLocally&&req.status===0){
-_279(req.responseText,req);
-}else{
-if(typeof _27a=="function"){
-_27a(req);
-}else{
-alert("An error has occurred: "+req.statusText+"\nURL: "+url);
-}
-}
-}
-};
-req.onreadystatechange=callBack;
-req.open("GET",url,true);
-req.send(null);
-};
-Xinha.ping=function(url,_27d,_27e){
-var req=null;
-req=Xinha.getXMLHTTPRequestObject();
-function callBack(){
-if(req.readyState==4){
-if(((req.status/100)==2)||Xinha.isRunLocally&&req.status===0){
-if(_27d){
-_27d(req);
-}
-}else{
-if(_27e){
-_27e(req);
-}
-}
-}
-};
-var _280="GET";
-req.onreadystatechange=callBack;
-req.open(_280,url,true);
-req.send(null);
-};
-Xinha._geturlcontent=function(url,_282){
-var req=null;
-req=Xinha.getXMLHTTPRequestObject();
-req.open("GET",url,false);
-req.send(null);
-if(((req.status/100)==2)||Xinha.isRunLocally&&req.status===0){
-return (_282)?req.responseXML:req.responseText;
-}else{
-return "";
-}
-};
-if(typeof dumpValues=="undefined"){
-dumpValues=function(o){
-var s="";
-for(var prop in o){
-if(window.console&&typeof window.console.log=="function"){
-if(typeof console.firebug!="undefined"){
-console.log(o);
-}else{
-console.log(prop+" = "+o[prop]+"\n");
-}
-}else{
-s+=prop+" = "+o[prop]+"\n";
-}
-}
-if(s){
-if(document.getElementById("errors")){
-document.getElementById("errors").value+=s;
-}else{
-var x=window.open("","debugger");
-x.document.write("<pre>"+s+"</pre>");
-}
-}
-};
-}
-if(!Array.prototype.contains){
-Array.prototype.contains=function(_288){
-var _289=this;
-for(var i=0;i<_289.length;i++){
-if(_288==_289[i]){
-return true;
-}
-}
-return false;
-};
-}
-if(!Array.prototype.indexOf){
-Array.prototype.indexOf=function(_28b){
-var _28c=this;
-for(var i=0;i<_28c.length;i++){
-if(_28b==_28c[i]){
-return i;
-}
-}
-return null;
-};
-}
-if(!Array.prototype.append){
-Array.prototype.append=function(a){
-for(var i=0;i<a.length;i++){
-this.push(a[i]);
-}
-return this;
-};
-}
-if(!Array.prototype.forEach){
-Array.prototype.forEach=function(fn){
-var len=this.length;
-if(typeof fn!="function"){
-throw new TypeError();
-}
-var _292=arguments[1];
-for(var i=0;i<len;i++){
-if(i in this){
-fn.call(_292,this[i],i,this);
-}
-}
-};
-}
-Xinha.getElementsByClassName=function(el,_295){
-if(el.getElementsByClassName){
-return Array.prototype.slice.call(el.getElementsByClassName(_295));
-}else{
-var els=el.getElementsByTagName("*");
-var _297=[];
-var _298;
-for(var i=0;i<els.length;i++){
-_298=els[i].className.split(" ");
-if(_298.contains(_295)){
-_297.push(els[i]);
-}
-}
-return _297;
-}
-};
-Xinha.arrayContainsArray=function(a1,a2){
-var _29c=true;
-for(var x=0;x<a2.length;x++){
-var _29e=false;
-for(var i=0;i<a1.length;i++){
-if(a1[i]==a2[x]){
-_29e=true;
-break;
-}
-}
-if(!_29e){
-_29c=false;
-break;
-}
-}
-return _29c;
-};
-Xinha.arrayFilter=function(a1,_2a1){
-var _2a2=[];
-for(var x=0;x<a1.length;x++){
-if(_2a1(a1[x])){
-_2a2[_2a2.length]=a1[x];
-}
-}
-return _2a2;
-};
-Xinha.collectionToArray=function(_2a4){
-try{
-return _2a4.length?Array.prototype.slice.call(_2a4):[];
-}
-catch(e){
-}
-var _2a5=[];
-for(var i=0;i<_2a4.length;i++){
-_2a5.push(_2a4.item(i));
-}
-return _2a5;
-};
-Xinha.uniq_count=0;
-Xinha.uniq=function(_2a7){
-return _2a7+Xinha.uniq_count++;
-};
-Xinha._loadlang=function(_2a8,url){
-var lang;
-if(typeof _editor_lcbackend=="string"){
-url=_editor_lcbackend;
-url=url.replace(/%lang%/,_editor_lang);
-url=url.replace(/%context%/,_2a8);
-}else{
-if(!url){
-if(_2a8!="Xinha"){
-url=Xinha.getPluginDir(_2a8)+"/lang/"+_editor_lang+".js";
-}else{
-Xinha.setLoadingMessage("Loading language");
-url=_editor_url+"lang/"+_editor_lang+".js";
-}
-}
-}
-var _2ab=Xinha._geturlcontent(url);
-if(_2ab!==""){
-try{
-eval("lang = "+_2ab);
-}
-catch(ex){
-alert("Error reading Language-File ("+url+"):\n"+Error.toString());
-lang={};
-}
-}else{
-lang={};
-}
-return lang;
-};
-Xinha._lc=function(_2ac,_2ad,_2ae){
-var url,ret;
-if(typeof _2ad=="object"&&_2ad.url&&_2ad.context){
-url=_2ad.url+_editor_lang+".js";
-_2ad=_2ad.context;
-}
-var m=null;
-if(typeof _2ac=="string"){
-m=_2ac.match(/\$(.*?)=(.*?)\$/g);
-}
-if(m){
-if(!_2ae){
-_2ae={};
-}
-for(var i=0;i<m.length;i++){
-var n=m[i].match(/\$(.*?)=(.*?)\$/);
-_2ae[n[1]]=n[2];
-_2ac=_2ac.replace(n[0],"$"+n[1]);
-}
-}
-if(_editor_lang=="en"){
-if(typeof _2ac=="object"&&_2ac.string){
-ret=_2ac.string;
-}else{
-ret=_2ac;
-}
-}else{
-if(typeof Xinha._lc_catalog=="undefined"){
-Xinha._lc_catalog=[];
-}
-if(typeof _2ad=="undefined"){
-_2ad="Xinha";
-}
-if(typeof Xinha._lc_catalog[_2ad]=="undefined"){
-Xinha._lc_catalog[_2ad]=Xinha._loadlang(_2ad,url);
-}
-var key;
-if(typeof _2ac=="object"&&_2ac.key){
-key=_2ac.key;
-}else{
-if(typeof _2ac=="object"&&_2ac.string){
-key=_2ac.string;
-}else{
-key=_2ac;
-}
-}
-if(typeof Xinha._lc_catalog[_2ad][key]=="undefined"){
-if(_2ad=="Xinha"){
-if(typeof _2ac=="object"&&_2ac.string){
-ret=_2ac.string;
-}else{
-ret=_2ac;
-}
-}else{
-return Xinha._lc(_2ac,"Xinha",_2ae);
-}
-}else{
-ret=Xinha._lc_catalog[_2ad][key];
-}
-}
-if(typeof _2ac=="object"&&_2ac.replace){
-_2ae=_2ac.replace;
-}
-if(typeof _2ae!="undefined"){
-for(i in _2ae){
-ret=ret.replace("$"+i,_2ae[i]);
-}
-}
-return ret;
-};
-Xinha.hasDisplayedChildren=function(el){
-var _2b6=el.childNodes;
-for(var i=0;i<_2b6.length;i++){
-if(_2b6[i].tagName){
-if(_2b6[i].style.display!="none"){
-return true;
-}
-}
-}
-return false;
-};
-Xinha._loadback=function(url,_2b9,_2ba,_2bb){
-if(document.getElementById(url)){
-return true;
-}
-var t=!Xinha.is_ie?"onload":"onreadystatechange";
-var s=document.createElement("script");
-s.type="text/javascript";
-s.src=url;
-s.id=url;
-if(_2b9){
-s[t]=function(){
-if(Xinha.is_ie&&(!/loaded|complete/.test(window.event.srcElement.readyState))){
-return;
-}
-_2b9.call(_2ba?_2ba:this,_2bb);
-s[t]=null;
-};
-}
-document.getElementsByTagName("head")[0].appendChild(s);
-return false;
-};
-Xinha.makeEditors=function(_2be,_2bf,_2c0){
-if(!Xinha.isSupportedBrowser){
-return;
-}
-if(typeof _2bf=="function"){
-_2bf=_2bf();
-}
-var _2c1={};
-var _2c2;
-for(var x=0;x<_2be.length;x++){
-if(typeof _2be[x]=="string"){
-_2c2=Xinha.getElementById("textarea",_2be[x]);
-if(!_2c2){
-_2be[x]=null;
-continue;
-}
-}else{
-if(typeof _2be[x]=="object"&&_2be[x].tagName&&_2be[x].tagName.toLowerCase()=="textarea"){
-_2c2=_2be[x];
-if(!_2c2.id){
-_2c2.id="xinha_id_"+x;
-}
-}
-}
-var _2c4=new Xinha(_2c2,Xinha.cloneObject(_2bf));
-_2c4.registerPlugins(_2c0);
-_2c1[_2c2.id]=_2c4;
-}
-return _2c1;
-};
-Xinha.startEditors=function(_2c5){
-if(!Xinha.isSupportedBrowser){
-return;
-}
-for(var i in _2c5){
-if(_2c5[i].generate){
-_2c5[i].generate();
-}
-}
-};
-Xinha.prototype.registerPlugins=function(_2c7){
-if(!Xinha.isSupportedBrowser){
-return;
-}
-if(_2c7){
-for(var i=0;i<_2c7.length;i++){
-this.setLoadingMessage(Xinha._lc("Register plugin $plugin","Xinha",{"plugin":_2c7[i]}));
-this.registerPlugin(_2c7[i]);
-}
-}
-};
-Xinha.base64_encode=function(_2c9){
-var _2ca="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
-var _2cb="";
-var chr1,chr2,chr3;
-var enc1,enc2,enc3,enc4;
-var i=0;
-do{
-chr1=_2c9.charCodeAt(i++);
-chr2=_2c9.charCodeAt(i++);
-chr3=_2c9.charCodeAt(i++);
-enc1=chr1>>2;
-enc2=((chr1&3)<<4)|(chr2>>4);
-enc3=((chr2&15)<<2)|(chr3>>6);
-enc4=chr3&63;
-if(isNaN(chr2)){
-enc3=enc4=64;
-}else{
-if(isNaN(chr3)){
-enc4=64;
-}
-}
-_2cb=_2cb+_2ca.charAt(enc1)+_2ca.charAt(enc2)+_2ca.charAt(enc3)+_2ca.charAt(enc4);
-}while(i<_2c9.length);
-return _2cb;
-};
-Xinha.base64_decode=function(_2d4){
-var _2d5="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
-var _2d6="";
-var chr1,chr2,chr3;
-var enc1,enc2,enc3,enc4;
-var i=0;
-_2d4=_2d4.replace(/[^A-Za-z0-9\+\/\=]/g,"");
-do{
-enc1=_2d5.indexOf(_2d4.charAt(i++));
-enc2=_2d5.indexOf(_2d4.charAt(i++));
-enc3=_2d5.indexOf(_2d4.charAt(i++));
-enc4=_2d5.indexOf(_2d4.charAt(i++));
-chr1=(enc1<<2)|(enc2>>4);
-chr2=((enc2&15)<<4)|(enc3>>2);
-chr3=((enc3&3)<<6)|enc4;
-_2d6=_2d6+String.fromCharCode(chr1);
-if(enc3!=64){
-_2d6=_2d6+String.fromCharCode(chr2);
-}
-if(enc4!=64){
-_2d6=_2d6+String.fromCharCode(chr3);
-}
-}while(i<_2d4.length);
-return _2d6;
-};
-Xinha.removeFromParent=function(el){
-if(!el.parentNode){
-return;
-}
-var pN=el.parentNode;
-return pN.removeChild(el);
-};
-Xinha.hasParentNode=function(el){
-if(el.parentNode){
-if(el.parentNode.nodeType==11){
-return false;
-}
-return true;
-}
-return false;
-};
-Xinha.viewportSize=function(_2e2){
-_2e2=(_2e2)?_2e2:window;
-var x,y;
-if(_2e2.innerHeight){
-x=_2e2.innerWidth;
-y=_2e2.innerHeight;
-}else{
-if(_2e2.document.documentElement&&_2e2.document.documentElement.clientHeight){
-x=_2e2.document.documentElement.clientWidth;
-y=_2e2.document.documentElement.clientHeight;
-}else{
-if(_2e2.document.body){
-x=_2e2.document.body.clientWidth;
-y=_2e2.document.body.clientHeight;
-}
-}
-}
-return {"x":x,"y":y};
-};
-Xinha.pageSize=function(_2e5){
-_2e5=(_2e5)?_2e5:window;
-var x,y;
-var _2e8=_2e5.document.body.scrollHeight;
-var _2e9=_2e5.document.documentElement.scrollHeight;
-if(_2e8>_2e9){
-x=_2e5.document.body.scrollWidth;
-y=_2e5.document.body.scrollHeight;
-}else{
-x=_2e5.document.documentElement.scrollWidth;
-y=_2e5.document.documentElement.scrollHeight;
-}
-return {"x":x,"y":y};
-};
-Xinha.prototype.scrollPos=function(_2ea){
-_2ea=(_2ea)?_2ea:window;
-var x,y;
-if(typeof _2ea.pageYOffset!="undefined"){
-x=_2ea.pageXOffset;
-y=_2ea.pageYOffset;
-}else{
-if(_2ea.document.documentElement&&typeof document.documentElement.scrollTop!="undefined"){
-x=_2ea.document.documentElement.scrollLeft;
-y=_2ea.document.documentElement.scrollTop;
-}else{
-if(_2ea.document.body){
-x=_2ea.document.body.scrollLeft;
-y=_2ea.document.body.scrollTop;
-}
-}
-}
-return {"x":x,"y":y};
-};
-Xinha.getElementTopLeft=function(_2ed){
-var _2ee=0;
-var _2ef=0;
-if(_2ed.offsetParent){
-_2ee=_2ed.offsetLeft;
-_2ef=_2ed.offsetTop;
-while(_2ed=_2ed.offsetParent){
-_2ee+=_2ed.offsetLeft;
-_2ef+=_2ed.offsetTop;
-}
-}
-return {top:_2ef,left:_2ee};
-};
-Xinha.findPosX=function(obj){
-var _2f1=0;
-if(obj.offsetParent){
-return Xinha.getElementTopLeft(obj).left;
-}else{
-if(obj.x){
-_2f1+=obj.x;
-}
-}
-return _2f1;
-};
-Xinha.findPosY=function(obj){
-var _2f3=0;
-if(obj.offsetParent){
-return Xinha.getElementTopLeft(obj).top;
-}else{
-if(obj.y){
-_2f3+=obj.y;
-}
-}
-return _2f3;
-};
-Xinha.createLoadingMessages=function(_2f4){
-if(Xinha.loadingMessages||!Xinha.isSupportedBrowser){
-return;
-}
-Xinha.loadingMessages=[];
-for(var i=0;i<_2f4.length;i++){
-if(!document.getElementById(_2f4[i])){
-continue;
-}
-Xinha.loadingMessages.push(Xinha.createLoadingMessage(Xinha.getElementById("textarea",_2f4[i])));
-}
-};
-Xinha.createLoadingMessage=function(_2f6,text){
-if(document.getElementById("loading_"+_2f6.id)||!Xinha.isSupportedBrowser){
-return;
-}
-var _2f8=document.createElement("div");
-_2f8.id="loading_"+_2f6.id;
-_2f8.className="loading";
-_2f8.style.left=(Xinha.findPosX(_2f6)+_2f6.offsetWidth/2)-106+"px";
-_2f8.style.top=(Xinha.findPosY(_2f6)+_2f6.offsetHeight/2)-50+"px";
-var _2f9=document.createElement("div");
-_2f9.className="loading_main";
-_2f9.id="loading_main_"+_2f6.id;
-_2f9.appendChild(document.createTextNode(Xinha._lc("Loading in progress. Please wait!")));
-var _2fa=document.createElement("div");
-_2fa.className="loading_sub";
-_2fa.id="loading_sub_"+_2f6.id;
-text=text?text:Xinha._lc("Loading Core");
-_2fa.appendChild(document.createTextNode(text));
-_2f8.appendChild(_2f9);
-_2f8.appendChild(_2fa);
-document.body.appendChild(_2f8);
-Xinha.freeLater(_2f8);
-Xinha.freeLater(_2f9);
-Xinha.freeLater(_2fa);
-return _2fa;
-};
-Xinha.prototype.setLoadingMessage=function(_2fb,_2fc){
-if(!document.getElementById("loading_sub_"+this._textArea.id)){
-return;
-}
-document.getElementById("loading_main_"+this._textArea.id).innerHTML=_2fc?_2fc:Xinha._lc("Loading in progress. Please wait!");
-document.getElementById("loading_sub_"+this._textArea.id).innerHTML=_2fb;
-};
-Xinha.setLoadingMessage=function(_2fd){
-if(!Xinha.loadingMessages){
-return;
-}
-for(var i=0;i<Xinha.loadingMessages.length;i++){
-Xinha.loadingMessages[i].innerHTML=_2fd;
-}
-};
-Xinha.prototype.removeLoadingMessage=function(){
-if(document.getElementById("loading_"+this._textArea.id)){
-document.body.removeChild(document.getElementById("loading_"+this._textArea.id));
-}
-};
-Xinha.removeLoadingMessages=function(_2ff){
-for(var i=0;i<_2ff.length;i++){
-if(!document.getElementById(_2ff[i])){
-continue;
-}
-var main=document.getElementById("loading_"+document.getElementById(_2ff[i]).id);
-main.parentNode.removeChild(main);
-}
-Xinha.loadingMessages=null;
-};
-Xinha.toFree=[];
-Xinha.freeLater=function(obj,prop){
-Xinha.toFree.push({o:obj,p:prop});
-};
-Xinha.free=function(obj,prop){
-if(obj&&!prop){
-for(var p in obj){
-Xinha.free(obj,p);
-}
-}else{
-if(obj){
-if(prop.indexOf("src")==-1){
-try{
-obj[prop]=null;
-}
-catch(x){
-}
-}
-}
-}
-};
-Xinha.collectGarbageForIE=function(){
-Xinha.flushEvents();
-for(var x=0;x<Xinha.toFree.length;x++){
-Xinha.free(Xinha.toFree[x].o,Xinha.toFree[x].p);
-Xinha.toFree[x].o=null;
-}
-};
-Xinha.prototype.insertNodeAtSelection=function(_308){
-Xinha.notImplemented("insertNodeAtSelection");
-};
-Xinha.prototype.getParentElement=function(sel){
-Xinha.notImplemented("getParentElement");
-};
-Xinha.prototype.activeElement=function(sel){
-Xinha.notImplemented("activeElement");
-};
-Xinha.prototype.selectionEmpty=function(sel){
-Xinha.notImplemented("selectionEmpty");
-};
-Xinha.prototype.saveSelection=function(){
-Xinha.notImplemented("saveSelection");
-};
-Xinha.prototype.restoreSelection=function(_30c){
-Xinha.notImplemented("restoreSelection");
-};
-Xinha.prototype.selectNodeContents=function(node,pos){
-Xinha.notImplemented("selectNodeContents");
-};
-Xinha.prototype.insertHTML=function(html){
-Xinha.notImplemented("insertHTML");
-};
-Xinha.prototype.getSelectedHTML=function(){
-Xinha.notImplemented("getSelectedHTML");
-};
-Xinha.prototype.getSelection=function(){
-Xinha.notImplemented("getSelection");
-};
-Xinha.prototype.createRange=function(sel){
-Xinha.notImplemented("createRange");
-};
-Xinha.prototype.isKeyEvent=function(_311){
-Xinha.notImplemented("isKeyEvent");
-};
-Xinha.prototype.isShortCut=function(_312){
-if(_312.ctrlKey&&!_312.altKey){
-return true;
-}
-return false;
-};
-Xinha.prototype.getKey=function(_313){
-Xinha.notImplemented("getKey");
-};
-Xinha.getOuterHTML=function(_314){
-Xinha.notImplemented("getOuterHTML");
-};
-Xinha.getXMLHTTPRequestObject=function(){
-try{
-if(typeof XMLHttpRequest!="undefined"&&typeof XMLHttpRequest.constructor=="function"){
-return new XMLHttpRequest();
-}else{
-if(typeof ActiveXObject=="function"){
-return new ActiveXObject("Microsoft.XMLHTTP");
-}
-}
-}
-catch(e){
-Xinha.notImplemented("getXMLHTTPRequestObject");
-}
-};
-Xinha.prototype._activeElement=function(sel){
-return this.activeElement(sel);
-};
-Xinha.prototype._selectionEmpty=function(sel){
-return this.selectionEmpty(sel);
-};
-Xinha.prototype._getSelection=function(){
-return this.getSelection();
-};
-Xinha.prototype._createRange=function(sel){
-return this.createRange(sel);
-};
-HTMLArea=Xinha;
-Xinha.init();
-if(Xinha.ie_version<8){
-Xinha.addDom0Event(window,"unload",Xinha.collectGarbageForIE);
-}
-Xinha.debugMsg=function(text,_319){
-if(typeof console!="undefined"&&typeof console.log=="function"){
-if(_319&&_319=="warn"&&typeof console.warn=="function"){
-console.warn(text);
-}else{
-if(_319&&_319=="info"&&typeof console.info=="function"){
-console.info(text);
-}else{
-console.log(text);
-}
-}
-}else{
-if(typeof opera!="undefined"&&typeof opera.postError=="function"){
-opera.postError(text);
-}
-}
-};
-Xinha.notImplemented=function(_31a){
-throw new Error("Method Not Implemented","Part of Xinha has tried to call the "+_31a+" method which has not been implemented.");
-};
-
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/XinhaLoader.js b/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/XinhaLoader.js
deleted file mode 100755
index 8c80a57..0000000
--- a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/XinhaLoader.js
+++ /dev/null
@@ -1,213 +0,0 @@
-/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */
-/* The URL of the most recent version of this file is http://svn.xinha.org/trunk/XinhaLoader.js */
-var Xinha={};
-if(!window._editor_url){
-(function(){
-var _1=document.getElementsByTagName("script");
-var _2=_1[_1.length-1];
-var _3=_2.src.split("?");
-_3=_3.length==2?_3[1].split("&"):"";
-for(var _4=0;_4<_3.length;++_4){
-var _5=_3[_4].split("=");
-if(_5.length==2){
-switch(_5[0]){
-case "lang":
-case "icons":
-case "skin":
-case "url":
-window["_editor_"+_5[0]]=_5[1];
-break;
-}
-}
-}
-if(_2.innerHTML.replace(/\s+/,"")){
-eval(_2.innerHTML);
-}
-_editor_lang=window._editor_lang||"en";
-_editor_url=window._editor_url||_2.src.split("?")[0].split("/").slice(0,-1).join("/");
-})();
-}
-_editor_url=_editor_url.replace(/\x2f*$/,"/");
-Xinha.agt=navigator.userAgent.toLowerCase();
-Xinha.is_ie=((Xinha.agt.indexOf("msie")!=-1)&&(Xinha.agt.indexOf("opera")==-1));
-Xinha.ie_version=parseFloat(Xinha.agt.substring(Xinha.agt.indexOf("msie")+5));
-Xinha.is_opera=(Xinha.agt.indexOf("opera")!=-1);
-Xinha.is_khtml=(Xinha.agt.indexOf("khtml")!=-1);
-Xinha.is_webkit=(Xinha.agt.indexOf("applewebkit")!=-1);
-Xinha.is_safari=(Xinha.agt.indexOf("safari")!=-1);
-Xinha.opera_version=navigator.appVersion.substring(0,navigator.appVersion.indexOf(" "))*1;
-Xinha.is_mac=(Xinha.agt.indexOf("mac")!=-1);
-Xinha.is_mac_ie=(Xinha.is_ie&&Xinha.is_mac);
-Xinha.is_win_ie=(Xinha.is_ie&&!Xinha.is_mac);
-Xinha.is_gecko=(navigator.product=="Gecko"&&!Xinha.is_safari);
-Xinha.isRunLocally=document.URL.toLowerCase().search(/^file:/)!=-1;
-Xinha.is_designMode=(typeof document.designMode!="undefined"&&!Xinha.is_ie);
-Xinha.isSupportedBrowser=Xinha.is_gecko||(Xinha.is_opera&&Xinha.opera_version>=9.1)||Xinha.ie_version>=5.5||Xinha.is_safari;
-Xinha.loadPlugins=function(_6,_7){
-if(!Xinha.isSupportedBrowser){
-return;
-}
-Xinha.loadStyle(typeof _editor_css=="string"?_editor_css:"Xinha.css","XinhaCoreDesign");
-Xinha.createLoadingMessages(xinha_editors);
-var _8=Xinha.loadingMessages;
-Xinha._loadback(_editor_url+"XinhaCore.js",function(){
-Xinha.removeLoadingMessages(xinha_editors);
-Xinha.createLoadingMessages(xinha_editors);
-_7();
-});
-return false;
-};
-Xinha._loadback=function(_9,_a,_b,_c){
-var T=!Xinha.is_ie?"onload":"onreadystatechange";
-var S=document.createElement("script");
-S.type="text/javascript";
-S.src=_9;
-if(_a){
-S[T]=function(){
-if(Xinha.is_ie&&(!(/loaded|complete/.test(window.event.srcElement.readyState)))){
-return;
-}
-_a.call(_b?_b:this,_c);
-S[T]=null;
-};
-}
-document.getElementsByTagName("head")[0].appendChild(S);
-};
-Xinha.getElementTopLeft=function(_f){
-var _10=0;
-var _11=0;
-if(_f.offsetParent){
-_10=_f.offsetLeft;
-_11=_f.offsetTop;
-while(_f=_f.offsetParent){
-_10+=_f.offsetLeft;
-_11+=_f.offsetTop;
-}
-}
-return {top:_11,left:_10};
-};
-Xinha.findPosX=function(obj){
-var _13=0;
-if(obj.offsetParent){
-return Xinha.getElementTopLeft(obj).left;
-}else{
-if(obj.x){
-_13+=obj.x;
-}
-}
-return _13;
-};
-Xinha.findPosY=function(obj){
-var _15=0;
-if(obj.offsetParent){
-return Xinha.getElementTopLeft(obj).top;
-}else{
-if(obj.y){
-_15+=obj.y;
-}
-}
-return _15;
-};
-Xinha.createLoadingMessages=function(_16){
-if(Xinha.loadingMessages||!Xinha.isSupportedBrowser){
-return;
-}
-Xinha.loadingMessages=[];
-for(var i=0;i<_16.length;i++){
-if(!document.getElementById(_16[i])){
-continue;
-}
-Xinha.loadingMessages.push(Xinha.createLoadingMessage(document.getElementById(_16[i])));
-}
-};
-Xinha.createLoadingMessage=function(_18,_19){
-if(document.getElementById("loading_"+_18.id)||!Xinha.isSupportedBrowser){
-return;
-}
-var _1a=document.createElement("div");
-_1a.id="loading_"+_18.id;
-_1a.className="loading";
-_1a.style.left=(Xinha.findPosX(_18)+_18.offsetWidth/2)-106+"px";
-_1a.style.top=(Xinha.findPosY(_18)+_18.offsetHeight/2)-50+"px";
-var _1b=document.createElement("div");
-_1b.className="loading_main";
-_1b.id="loading_main_"+_18.id;
-_1b.appendChild(document.createTextNode(Xinha._lc("Loading in progress. Please wait!")));
-var _1c=document.createElement("div");
-_1c.className="loading_sub";
-_1c.id="loading_sub_"+_18.id;
-_19=_19?_19:Xinha._lc("Loading Core");
-_1c.appendChild(document.createTextNode(_19));
-_1a.appendChild(_1b);
-_1a.appendChild(_1c);
-document.body.appendChild(_1a);
-return _1c;
-};
-Xinha.loadStyle=function(_1d,id){
-var url=_editor_url||"";
-url+=_1d;
-var _20=document.getElementsByTagName("head")[0];
-var _21=document.createElement("link");
-_21.rel="stylesheet";
-_21.href=url;
-if(id){
-_21.id=id;
-}
-_20.appendChild(_21);
-};
-Xinha._lc=function(_22){
-return _22;
-};
-Xinha._addEvent=function(el,_24,_25){
-if(document.addEventListener){
-el.addEventListener(_24,_25,true);
-}else{
-el.attachEvent("on"+_24,_25);
-}
-};
-Xinha.addOnloadHandler=function(_26){
-var _27=function(){
-if(arguments.callee.done){
-return;
-}
-arguments.callee.done=true;
-if(Xinha.onloadTimer){
-clearInterval(Xinha.onloadTimer);
-}
-_26.call();
-};
-if(Xinha.is_ie){
-document.attachEvent("onreadystatechange",function(){
-if(document.readyState==="complete"){
-document.detachEvent("onreadystatechange",arguments.callee);
-_27();
-}
-});
-if(document.documentElement.doScroll&&typeof window.frameElement==="undefined"){
-(function(){
-if(arguments.callee.done){
-return;
-}
-try{
-document.documentElement.doScroll("left");
-}
-catch(error){
-setTimeout(arguments.callee,0);
-return;
-}
-_27();
-})();
-}
-}else{
-if(/WebKit/i.test(navigator.userAgent)){
-Xinha.onloadTimer=setInterval(function(){
-if(/loaded|complete/.test(document.readyState)){
-_27();
-}
-},10);
-}else{
-document.addEventListener("DOMContentLoaded",_27,false);
-}
-}
-};
-
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/compression_readme.txt b/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/compression_readme.txt
deleted file mode 100644
index dacb04b..0000000
--- a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/compression_readme.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-You can use the contrib/compress.php to batch-convert the current Xinha snapshot. To use this script, open it in a text editor, comment out the die() command at the top and open it in your browser.

- 

-You can use the contrib/compress.bat to compress JavaScript files by drag&drop in Windows.

-

-Please be aware that the language files cannot be compressed.

-

-If you want the original files to be kept, open compress.bat and remvove the # in the line

-# FOR %%V IN (%*) DO del %%V_uncompressed.js
\ No newline at end of file
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/htmlarea.js b/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/htmlarea.js
deleted file mode 100644
index 39781f7..0000000
--- a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/htmlarea.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */
-/* The URL of the most recent version of this file is http://svn.xinha.org/trunk/htmlarea.js */
-if(typeof _editor_url=="string"){
-_editor_url=_editor_url.replace(/\x2f*$/,"/");
-}else{
-alert("WARNING: _editor_url is not set!  You should set this variable to the editor files path; it should preferably be an absolute path, like in '/htmlarea/', but it can be relative if you prefer.  Further we will try to load the editor files correctly but we'll probably fail.");
-_editor_url="";
-}
-document.write("<script type=\"text/javascript\" src=\""+_editor_url+"XinhaCore.js\"></script>");
-
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/lang/b5.js b/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/lang/b5.js
deleted file mode 100644
index 3550f6e..0000000
--- a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/lang/b5.js
+++ /dev/null
@@ -1,29 +0,0 @@
-// I18N constants -- UTF-8
-// by Dave Lo -- dlo@interactivetools.com
-{
-  "Bold": "粗體",
-  "Italic": "斜體",
-  "Underline": "底線",
-  "Strikethrough": "刪除線",
-  "Subscript": "下標",
-  "Superscript": "上標",
-  "Justify Left": "位置靠左",
-  "Justify Center": "位置居中",
-  "Justify Right": "位置靠右",
-  "Justify Full": "位置左右平等",
-  "Ordered List": "順序清單",
-  "Bulleted List": "無序清單",
-  "Decrease Indent": "減小行前空白",
-  "Increase Indent": "加寬行前空白",
-  "Font Color": "文字顏色",
-  "Background Color": "背景顏色",
-  "Horizontal Rule": "水平線",
-  "Insert Web Link": "插入連結",
-  "Insert/Modify Image": "插入圖形",
-  "Insert Table": "插入表格",
-  "Toggle HTML Source": "切換HTML原始碼",
-  "Enlarge Editor": "放大",
-  "About this editor": "關於 Xinha",
-  "Help using editor": "說明",
-  "Current style": "字體例子"
-}
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/lang/ch.js b/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/lang/ch.js
deleted file mode 100644
index 25ac840..0000000
--- a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/lang/ch.js
+++ /dev/null
@@ -1,56 +0,0 @@
-// I18N constants
-
-// LANG: "ch", ENCODING: UTF-8
-// Samuel Stone, http://stonemicro.com/
-
-{
-  "Bold": "粗體",
-  "Italic": "斜體",
-  "Underline": "底線",
-  "Strikethrough": "刪線",
-  "Subscript": "下標",
-  "Superscript": "上標",
-  "Justify Left": "靠左",
-  "Justify Center": "居中",
-  "Justify Right": "靠右",
-  "Justify Full": "整齊",
-  "Ordered List": "順序清單",
-  "Bulleted List": "無序清單",
-  "Decrease Indent": "伸排",
-  "Increase Indent": "縮排",
-  "Font Color": "文字顏色",
-  "Background Color": "背景顏色",
-  "Horizontal Rule": "水平線",
-  "Insert Web Link": "插入連結",
-  "Insert/Modify Image": "插入圖像",
-  "Insert Table": "插入表格",
-  "Toggle HTML Source": "切換HTML原始碼",
-  "Enlarge Editor": "伸出編輯系統",
-  "About this editor": "關於 Xinha",
-  "Help using editor": "說明",
-  "Current style": "字體例子",
-  "Undoes your last action": "回原",
-  "Redoes your last action": "重来",
-  "Cut selection": "剪制选项",
-  "Copy selection": "复制选项",
-  "Paste from clipboard": "贴上",
-  "Direction left to right": "从左到右",
-  "Direction right to left": "从右到左",
-  "OK": "好",
-  "Cancel": "取消",
-  "Path": "途徑",
-  "You are in TEXT MODE.  Use the [<>] button to switch back to WYSIWYG.": "你在用純字編輯方式.  用 [<>] 按鈕轉回 所見即所得 編輯方式.",
-  "The full screen mode is known to cause problems with Internet Explorer, due to browser bugs that we weren": "整頁式在Internet Explorer 上常出問題, 因為這是 Internet Explorer 的無名問題,我們無法解決。你可能看見一些垃圾,或遇到其他問題。我們已警告了你. 如果要轉到 正頁式 請按 好.",
-  "The Paste button does not work in Mozilla based web browsers (technical security reasons). Press CTRL-V on your keyboard to paste directly.": "The Paste button does not work in Mozilla based web browsers (technical security reasons). Press CTRL-V on your keyboard to paste directly.",
-  "Cancel": "取消",
-  "Insert/Modify Link": "插入/改寫連結",
-  "New window (_blank)": "新窗户(_blank)",
-  "None (use implicit)": "無(use implicit)",
-  "Other": "其他",
-  "Same frame (_self)": "本匡 (_self)",
-  "Target:": "目標匡:",
-  "Title (tooltip):": "主題 (tooltip):",
-  "Top frame (_top)": "上匡 (_top)",
-  "URL:": "網址:",
-  "You must enter the URL where this link points to": "你必須輸入你要连结的網址"
-}
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/lang/cz.js b/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/lang/cz.js
deleted file mode 100644
index 8cc7424..0000000
--- a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/lang/cz.js
+++ /dev/null
@@ -1,50 +0,0 @@
-// I18N constants
-
-// LANG: "cz", ENCODING: UTF-8
-// Author: Jiri Löw, <jirilow@jirilow.com>
-
-// FOR TRANSLATORS:
-//
-//   1. PLEASE PUT YOUR CONTACT INFO IN THE ABOVE LINE
-//      (at least a valid email address)
-//
-//   2. PLEASE TRY TO USE UTF-8 FOR ENCODING;
-//      (if this is not possible, please include a comment
-//       that states what encoding is necessary.)
-
-{
-  "Bold": "Tučně",
-  "Italic": "Kurzíva",
-  "Underline": "Podtržení",
-  "Strikethrough": "Přeškrtnutí",
-  "Subscript": "Dolní index",
-  "Superscript": "Horní index",
-  "Justify Left": "Zarovnat doleva",
-  "Justify Center": "Na střed",
-  "Justify Right": "Zarovnat doprava",
-  "Justify Full": "Zarovnat do stran",
-  "Ordered List": "Seznam",
-  "Bulleted List": "Odrážky",
-  "Decrease Indent": "Předsadit",
-  "Increase Indent": "Odsadit",
-  "Font Color": "Barva písma",
-  "Background Color": "Barva pozadí",
-  "Horizontal Rule": "Vodorovná čára",
-  "Insert Web Link": "Vložit odkaz",
-  "Insert/Modify Image": "Vložit obrázek",
-  "Insert Table": "Vložit tabulku",
-  "Toggle HTML Source": "Přepnout HTML",
-  "Enlarge Editor": "Nové okno editoru",
-  "About this editor": "O této aplikaci",
-  "Help using editor": "Nápověda aplikace",
-  "Current style": "Zvolený styl",
-  "Undoes your last action": "Vrátí poslední akci",
-  "Redoes your last action": "Opakuje poslední akci",
-  "Cut selection": "Vyjmout",
-  "Copy selection": "Kopírovat",
-  "Paste from clipboard": "Vložit",
-  "OK": "OK",
-  "Cancel": "Zrušit",
-  "Path": "Cesta",
-  "You are in TEXT MODE.  Use the [<>] button to switch back to WYSIWYG.": "Jste v TEXTOVÉM REŽIMU.  Použijte tlačítko [<>] pro přepnutí do WYSIWIG."
-}
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/lang/da.js b/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/lang/da.js
deleted file mode 100644
index 755ebe0..0000000
--- a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/lang/da.js
+++ /dev/null
@@ -1,172 +0,0 @@
-// I18N constants
-// LANG: "da", ENCODING: UTF-8
-// Author: rene, <rene@laerke.net>
-//         Niels Baggesen, <nba@users.sourceforge.net>, 0.95, 2009-08-15
-{
-  "Bold": "Fed",
-  "Italic": "Kursiv",
-  "Underline": "Understregning",
-  "Strikethrough": "Gennemstregning",
-  "Subscript": "Sænket skrift",
-  "Superscript": "Hævet skrift",
-  "Justify Left": "Venstrejuster",
-  "Justify Center": "Centrer",
-  "Justify Right": "Højrejuster",
-  "Justify Full": "Lige margener",
-  "Ordered List": "Ordnet liste",
-  "Bulleted List": "Punktliste",
-  "Decrease Indent": "Formindsk indrykning",
-  "Increase Indent": "Forøg indrykning",
-  "Font Color": "Skriftfarve",
-  "Background Color": "Baggrundsfarve",
-  "Horizontal Rule": "Vandret streg",
-  "Insert Web Link": "Indsæt hyperlink",
-  "Insert/Modify Image": "Indsæt/udskift billede",
-  "Insert Table": "Indsæt tabel",
-  "Toggle HTML Source": "HTML visning",
-  "Enlarge Editor": "Vis editor i popup",
-  "About this editor": "Om Xinha",
-  "Help using editor": "Hjælp",
-  "Current style": "Anvendt stil",
-  "Undoes your last action": "Fortryd sidste ændring",
-  "Redoes your last action": "Gentag sidste ændring",
-  "Cut selection": "Klip",
-  "Copy selection": "Kopier",
-  "Paste from clipboard": "Indsæt",
-  "Direction left to right": "Tekst venstre mod højre",
-  "Direction right to left": "Tekst højre mod venstre",
-  "Remove formatting": "Fjern formatering",
-  "Select all": "Vælg alt",
-  "Print document": "Udskriv dokument",
-  "Clear MSOffice tags": "MSOffice filter",
-  "Clear Inline Font Specifications": "Fjern skrift valg",
-  "Would you like to clear font typefaces?": "Vil du fjern skriftsnit valg",
-  "Would you like to clear font sizes?": "Vil du fjerne skriftstørrelse valg",
-  "Would you like to clear font colours?": "Vil du fjerne skriftfarve valg",
-  "Split Block": "Del blok",
-  "Toggle Borders": "Tabelkanter til/fra",
-  "Save as": "Gem som",
-  "Insert/Overwrite": "Indsæt/Overskriv",
-  "&mdash; format &mdash;": "&mdash; Format &mdash;",
-  "Heading 1": "Overskrift 1",
-  "Heading 2": "Overskrift 2",
-  "Heading 3": "Overskrift 3",
-  "Heading 4": "Overskrift 4",
-  "Heading 5": "Overskrift 5",
-  "Heading 6": "Overskrift 6",
-  "Normal": "Normal",
-  "Address": "Adresse",
-  "Formatted": "Formateret",
-
-  //dialogs
-  "OK": "OK",
-  "Cancel": "Fortryd",
-  "Path": "STi",
-  "You are in TEXT MODE.  Use the [<>] button to switch back to WYSIWYG.": "Du er i TEXT mode. Brug [<>] knappen til at skifte til visuel editering.",
-   "The Paste button does not work in Mozilla based web browsers (technical security reasons). Press CTRL-V on your keyboard to paste directly.": "Indsæt-knappen virker ikke i Mozilla-baserede browsere. Brug Ctrl-V på tastaturet for at indsætte.",
-
-  "You need to select some text before create a link": "Du skal markere noget tekst for at indsætte et hyperlink",
-  "Your Document is not well formed. Check JavaScript console for details.": "Dit dokument er ikke syntaktisk korrekt. Åbn Javascript konsollen for at få flere detaljer.",
-
-  "Alignment:": "Justering:",
-  "Not set": "Ubestemt",
-  "Left": "Venstre",
-  "Right": "Højre",
-  "Texttop": "Teksttop",
-  "Absmiddle": "Centreret",
-  "Baseline": "Grundlinje",
-  "Absbottom": "Bund",
-  "Bottom": "Tekstbund",
-  "Middle": "Midt",
-  "Top": "Top",
-
-  "Layout": "Layout",
-  "Spacing": "Afstand",
-  "Horizontal:": "vandret:",
-  "Horizontal padding": "Vandret fyld",
-  "Vertical:": "lodret:",
-  "Vertical padding": "Lodret fyld",
-  "Border thickness:": "Kantbredde:",
-  "Leave empty for no border": "Tom hvis ingen kant",
-
-  //Insert Link
-  "Insert/Modify Link": "Indsæt/rediger hyperlink",
-  "None (use implicit)": "ingen (implicit)",
-  "New window (_blank)": "Nyt vindue (_blank)",
-  "Same frame (_self)": "Samme ramme (_self)",
-  "Top frame (_top)": "Topramme (_top)",
-  "Other": "Andet",
-  "Target:": "Placering:",
-  "Title (tooltip):": "Titel (Tooltip):",
-  "URL:": "URL:",
-  "You must enter the URL where this link points to": "Du skal angive en mål-URL for linket",
-
-  // Insert Table
-  "Insert Table": "Indsæt tabel",
-  "Rows:": "Rækker:",
-  "Number of rows": "Antal rækker",
-  "Cols:": "Søjler:",
-  "Number of columns": "Antal søjler",
-  "Width:": "Bredde:",
-  "Width of the table": "Tabelbredde",
-  "Percent": "Procent",
-  "Pixels": "Pixel",
-  "Em": "Geviert (Em)",
-  "Width unit": "Breddeenhed",
-  "Fixed width columns": "Fast-bredde søjler",
-  "Positioning of this table": "Placering af tabel",
-  "Cell spacing:": "Celleafstand:",
-  "Space between adjacent cells": "Afstand mellem celler",
-  "Cell padding:": "Cellefyld:",
-  "Space between content and border in cell": "Luft mellem indhold og kanter",
-  "You must enter a number of rows": "Du skal skrive antallet af rækker",
-  "You must enter a number of columns": "Du skal skrive antallet af søjler",
-
-  // Insert Image
-  "Insert Image": "Indsæt billede",
-  "Image URL:": "Billede URL:",
-  "Enter the image URL here": "Angiv billedets URL",
-  "Preview": "Smugkig",
-  "Preview the image in a new window": "Smugkig af billedet i et nyt vindue",
-  "Alternate text:": "Alternativ text:",
-  "For browsers that don't support images": "for browsere der ikke understøtter billeder",
-  "Positioning of this image": "Placering af billedet",
-  "Image Preview:": "Billede smugkig:",
-  "You must enter the URL": "Du skal angive en URL",
-
-  // de-buttons have letters matching danish :-)
-  "button_bold": "de/bold.gif",
-  "button_italic": "de/italic.gif",
-  "button_underline": "de/underline.gif",
-
-  // Editor Help
-  "Keyboard shortcuts": "Tastaturgenveje",
-  "The editor provides the following key combinations:": "Editoren kender følgende kombinationer:",
-  "new paragraph": "Nyt afsnit",
-  "insert linebreak": "Indsæt linjeskift",
-  "Set format to paragraph": "Formater afsnit",
-  "Clean content pasted from Word": "Rens indhold kopieret fra Word",
-  "Headings": "Overskrift 1 til 6",
-  "Close": "Luk",
-
-  // Loading messages
-  "Loading in progress. Please wait!": "Editoren hentes ind. Vent venligst.",
-  "Loading plugin $plugin" : "Plugin $plugin hentes",
-  "Register plugin $plugin" : "Plugin $plugin registreres", 
-  "Constructing object": "Objekt registreres",
-  "Generate Xinha framework": "Xinha Framework genereres",
-  "Init editor size":"Størrelsen beregnes",
-  "Create Toolbar": "Opretter værktøjslinje",
-  "Create Statusbar" : "Opretter statuslinje",
-  "Register right panel" : "Registrerer højre panel",
-  "Register left panel" : "Registrerer venstre panel",
-  "Register bottom panel" : "Registrerer nederste panel",
-  "Register top panel" : "Registrerer øverste panel",
-  "Finishing" : "Afslutter",
-  
-  // ColorPicker
-  "Click a color..." : "Vælg farve",
-  "Sample" : "Eksempel",
-  "Web Safe: " : "Web Safe: ",
-  "Color: " : "Farve: "
-}
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/lang/de.js b/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/lang/de.js
deleted file mode 100644
index 98e5ec2..0000000
--- a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/lang/de.js
+++ /dev/null
@@ -1,171 +0,0 @@
-// I18N constants
-// LANG: "de", ENCODING: UTF-8
-{
-  "Bold": "Fett",
-  "Italic": "Kursiv",
-  "Underline": "Unterstrichen",
-  "Strikethrough": "Durchgestrichen",
-  "Subscript": "Tiefgestellt",
-  "Superscript": "Hochgestellt",
-  "Justify Left": "Linksbündig",
-  "Justify Center": "Zentriert",
-  "Justify Right": "Rechtsbündig",
-  "Justify Full": "Blocksatz",
-  "Ordered List": "Nummerierte Liste",
-  "Bulleted List": "Aufzählungsliste",
-  "Decrease Indent": "Einzug verkleinern",
-  "Increase Indent": "Einzug vergrößern",
-  "Font Color": "Schriftfarbe",
-  "Background Color": "Hindergrundfarbe",
-  "Horizontal Rule": "Horizontale Linie",
-  "Insert Web Link": "Hyperlink einfügen",
-  "Insert/Modify Image": "Bild einfügen/verändern",
-  "Insert Table": "Tabelle einfügen",
-  "Toggle HTML Source": "HTML Quelltext ein/ausschalten",
-  "Enlarge Editor": "Editor vergrößern",
-  "About this editor": "Über diesen Editor",
-  "Help using editor": "Hilfe",
-  "Current style": "Derzeitiger Stil",
-  "Undoes your last action": "Rückgängig",
-  "Redoes your last action": "Wiederholen",
-  "Cut selection": "Ausschneiden",
-  "Copy selection": "Kopieren",
-  "Paste from clipboard": "Einfügen aus der Zwischenablage",
-  "Direction left to right": "Textrichtung von Links nach Rechts",
-  "Direction right to left": "Textrichtung von Rechts nach Links",
-  "Remove formatting": "Formatierung entfernen",
-  "Select all": "Alles markieren",
-  "Print document": "Dokument ausdrucken",
-  "Clear MSOffice tags": "MSOffice filter",
-  "Clear Inline Font Specifications": "Zeichensatz Formatierungen entfernen",
-  "Would you like to clear font typefaces?": "Wollen Sie Zeichensatztypen entfernen",
-  "Would you like to clear font sizes?": "Wollen Sie Zeichensatzgrößen entfernen",
-  "Would you like to clear font colours?": "Wollen sie Zeichensatzfarben entfernen",
-  "Split Block": "Block teilen",
-  "Toggle Borders": "Tabellenränder ein/ausblenden",
-  "Save as": "speichern unter",
-  "Insert/Overwrite": "Einfügen/Überschreiben",
-  "&#8212; format &#8212;": "&#8212; Format &#8212;",
-  "Heading 1": "Überschrift 1",
-  "Heading 2": "Überschrift 2",
-  "Heading 3": "Überschrift 3",
-  "Heading 4": "Überschrift 4",
-  "Heading 5": "Überschrift 5",
-  "Heading 6": "Überschrift 6",
-  "Normal": "Normal (Absatz)",
-  "Address": "Adresse",
-  "Formatted": "Formatiert",
-
-  //dialogs
-  "OK": "OK",
-  "Cancel": "Abbrechen",
-  "Path": "Pfad",
-  "You are in TEXT MODE.  Use the [<>] button to switch back to WYSIWYG.": "Sie sind im Text-Modus. Benutzen Sie den [<>] Button, um in den visuellen Modus (WYSIWIG) zu gelangen.",
-   "The Paste button does not work in Mozilla based web browsers (technical security reasons). Press CTRL-V on your keyboard to paste directly.": "Aus Sicherheitsgründen dürfen Skripte normalerweise nicht auf Ausschneiden/Kopieren/Einfügen zugreifen. Benutzen Sie bitte die entsprechenden Tastatur-Kommandos (Strg + x/c/v).",
-
-  "You need to select some text before create a link": "Sie müssen einen Text markieren, um einen Link zu erstellen",
-  "Your Document is not well formed. Check JavaScript console for details.": "Ihr Dokument ist in keinem sauberen Format. Benutzen Sie die Javascript Console für weitere Informationen.",
-
-  "Alignment:": "Ausrichtung:",
-  "Not set": "nicht eingestellt",
-  "Left": "links",
-  "Right": "rechts",
-  "Texttop": "oben bündig",
-  "Absmiddle": "mittig",
-  "Baseline": "Grundlinie",
-  "Absbottom": "unten bündig",
-  "Bottom": "unten",
-  "Middle": "zentriert",
-  "Top": "oben",
-
-  "Layout": "Layout",
-  "Spacing": "Abstand",
-  "Horizontal:": "horizontal:",
-  "Horizontal padding": "horizontaler Inhaltsabstand",
-  "Vertical:": "vertikal:",
-  "Vertical padding": "vertikaler Inhaltsabstand",
-  "Border thickness:": "Randstärke:",
-  "Leave empty for no border": "leer lassen für keinen Rand",
-
-  //Insert Link
-  "Insert/Modify Link": "Verknüpfung hinzufügen/ändern",
-  "None (use implicit)": "k.A. (implizit)",
-  "New window (_blank)": "Neues Fenster (_blank)",
-  "Same frame (_self)": "Selber Rahmen (_self)",
-  "Top frame (_top)": "Oberster Rahmen (_top)",
-  "Other": "Anderes",
-  "Target:": "Ziel:",
-  "Title (tooltip):": "Titel (Tooltip):",
-  "URL:": "URL:",
-  "You must enter the URL where this link points to": "Sie müssen eine Ziel-URL angeben für die Verknüpfung angeben",
-
-  // Insert Table
-  "Insert Table": "Tabelle einfügen",
-  "Rows:": "Zeilen:",
-  "Number of rows": "Zeilenanzahl",
-  "Cols:": "Spalten:",
-  "Number of columns": "Spaltenanzahl",
-  "Width:": "Breite:",
-  "Width of the table": "Tabellenbreite",
-  "Percent": "Prozent",
-  "Pixels": "Pixel",
-  "Em": "Geviert",
-  "Width unit": "Größeneinheit",
-  "Fixed width columns": "Spalten mit fester Breite",
-  "Positioning of this table": "Positionierung der Tabelle",
-  "Cell spacing:": "Zellenabstand:",
-  "Space between adjacent cells": "Raum zwischen angrenzenden Zellen",
-  "Cell padding:": "Innenabstand:",
-  "Space between content and border in cell": "Raum zwischen Inhalt und Rand der Zelle",
-  "You must enter a number of rows": "Bitte geben Sie die Anzahl der Zeilen an",
-  "You must enter a number of columns": "Bitte geben Sie die Anzahl der Spalten an",
-
-  // Insert Image
-  "Insert Image": "Bild einfügen",
-  "Image URL:": "Bild URL:",
-  "Enter the image URL here": "Bitte geben sie hier die Bild URL ein",
-  "Preview": "Voransicht",
-  "Preview the image in a new window": "Voransicht des Bildes in einem neuen Fenster",
-  "Alternate text:": "Alternativer Text:",
-  "For browsers that don't support images": "für Browser, die keine Bilder unterstützen",
-  "Positioning of this image": "Positionierung dieses Bildes",
-  "Image Preview:": "Bild Voransicht:",
-  "You must enter the URL": "Bitte geben Sie die URL ein",
-
-/*
-  "button_bold": "de/bold.gif",
-  "button_italic": "de/italic.gif",
-  "button_underline": "de/underline.gif",
-*/
-
-  // Editor Help
-  "Keyboard shortcuts": "Tastaturkürzel",
-  "The editor provides the following key combinations:": "Der Editor unterstützt die folgenden kombinationen:",
-  "new paragraph": "Neuer Absatz(Paragraph)",
-  "insert linebreak": "Harter Umbruch einfügen",
-  "Set format to paragraph": "Setze Formatierung auf Absatz",
-  "Clean content pasted from Word": "Von Word eingefügter Text bereinigen",
-  "Headings": "Überschrift Typ 1 bis 6",
-  "Close": "Schließen",
-
-  // Loading messages
-  "Loading in progress. Please wait!": "Editor wird geladen. Bitte warten !",
-  "Loading plugin $plugin" : "Plugin $plugin wird geladen",
-  "Register plugin $plugin" : "Plugin $plugin wird registriert", 
-  "Constructing object": "Objekt wird generiert",
-  "Generate Xinha framework": "Xinha Framework wird generiert",
-  "Init editor size":"Größe wird berechnet", 
-  "Create Toolbar": "Werkzeugleiste wird generiert",
-  "Create Statusbar" : "Statusleiste wird generiert",
-  "Register right panel" : "Rechtes Panel wird generiert", 
-  "Register left panel" : "Linkes Panel wird generiert", 
-  "Register bottom panel" : "Unteres Panel wird generiert", 
-  "Register top panel" : "Oberes Panel wird generiert", 
-  "Finishing" : "Laden wird abgeschlossen", 
-  
-  // ColorPicker
-  "Click a color..." : "Farbe wählen",
-  "Sample" : "Beispiel",
-  "Web Safe: " : "Web Safe: ",
-  "Color: " : "Farbe: "
-};
\ No newline at end of file
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/lang/ee.js b/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/lang/ee.js
deleted file mode 100644
index 2534271..0000000
--- a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/lang/ee.js
+++ /dev/null
@@ -1,50 +0,0 @@
-// I18N constants
-
-// LANG: "ee", ENCODING: UTF-8
-// Author: Martin Raie, <albertvill@hot.ee>
-
-// FOR TRANSLATORS:
-//
-//   1. PLEASE PUT YOUR CONTACT INFO IN THE ABOVE LINE
-//      (at least a valid email address)
-//
-//   2. PLEASE TRY TO USE UTF-8 FOR ENCODING;
-//      (if this is not possible, please include a comment
-//       that states what encoding is necessary.)
-
-{
-  "Bold": "Paks",
-  "Italic": "Kursiiv",
-  "Underline": "Allakriipsutatud",
-  "Strikethrough": "Läbikriipsutatud",
-  "Subscript": "Allindeks",
-  "Superscript": "Ülaindeks",
-  "Justify Left": "Joonda vasakule",
-  "Justify Center": "Joonda keskele",
-  "Justify Right": "Joonda paremale",
-  "Justify Full": "Rööpjoonda",
-  "Ordered List": "Nummerdus",
-  "Bulleted List": "Täpploend",
-  "Decrease Indent": "Vähenda taanet",
-  "Increase Indent": "Suurenda taanet",
-  "Font Color": "Fondi värv",
-  "Background Color": "Tausta värv",
-  "Horizontal Rule": "Horisontaaljoon",
-  "Insert Web Link": "Lisa viit",
-  "Insert/Modify Image": "Lisa pilt",
-  "Insert Table": "Lisa tabel",
-  "Toggle HTML Source": "HTML/tavaline vaade",
-  "Enlarge Editor": "Suurenda toimeti aken",
-  "About this editor": "Teave toimeti kohta",
-  "Help using editor": "Spikker",
-  "Current style": "Kirjastiil",
-  "Undoes your last action": "Võta tagasi",
-  "Redoes your last action": "Tee uuesti",
-  "Cut selection": "Lõika",
-  "Copy selection": "Kopeeri",
-  "Paste from clipboard": "Kleebi",
-  "OK": "OK",
-  "Cancel": "Loobu",
-  "Path": "Path",
-  "You are in TEXT MODE.  Use the [<>] button to switch back to WYSIWYG.": "Sa oled tekstireziimis.  Kasuta nuppu [<>] lülitamaks tagasi WYSIWIG reziimi."
-}
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/lang/el.js b/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/lang/el.js
deleted file mode 100644
index bc3df96..0000000
--- a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/lang/el.js
+++ /dev/null
@@ -1,55 +0,0 @@
-// I18N constants
-
-// LANG: "el", ENCODING: UTF-8
-// Author: Dimitris Glezos, dimitris@glezos.com
-
-{
-  "Bold": "ΞˆΞ½Ο„ΞΏΞ½Ξ±",
-  "Italic": "Πλάγια",
-  "Underline": "Ξ�πογραμμισμένα",
-  "Strikethrough": "Διαγραμμένα",
-  "Subscript": "ΔΡίκτης",
-  "Superscript": "ΔΡίκτης",
-  "Justify Left": "Στοίχιση ΑριστΡρά",
-  "Justify Center": "Στοίχιση ΞšΞ­Ξ½Ο„ΟΞΏ",
-  "Justify Right": "Στοίχιση ΔΡξιά",
-  "Justify Full": "Ξ Ξ»Ξ�ρης Στοίχιση",
-  "Ordered List": "Αρίθμηση",
-  "Bulleted List": "ΞšΞΏΟ…ΞΊΞΊΞ―Ξ΄Ξ΅Ο‚",
-  "Decrease Indent": "ΞœΞ΅Ξ―Ο‰ΟƒΞ· ΕσοχΞ�Ο‚",
-  "Increase Indent": "Αύξηση ΕσοχΞ�Ο‚",
-  "Font Color": "Χρώμα ΓραμματοσΡιράς",
-  "Background Color": "Χρώμα Ξ¦ΟŒΞ½Ο„ΞΏΟ…",
-  "Horizontal Rule": "ΞŸΟΞΉΞΆΟŒΞ½Ο„ΞΉΞ± ΓραμμΞ�",
-  "Insert Web Link": "ΕισαγωγΞ� Συνδέσμου",
-  "Insert/Modify Image": "ΕισαγωγΞ�/Ξ�ροποποίηση Ξ•ΞΉΞΊΟŒΞ½Ξ±Ο‚",
-  "Insert Table": "ΕισαγωγΞ� Ξ Ξ―Ξ½Ξ±ΞΊΞ±",
-  "Toggle HTML Source": "ΕναλλαγΞ� σΡ/Ξ±Ο€ΟŒ HTML",
-  "Enlarge Editor": "ΞœΞ΅Ξ³Ξ­Ξ½ΞΈΟ…Ξ½ΟƒΞ· ΡπΡξΡργαστΞ�",
-  "About this editor": "ΠληροφορίΡς",
-  "Help using editor": "Ξ’ΞΏΞ�θΡια",
-  "Current style": "Παρών στυλ",
-  "Undoes your last action": "ΑναίρΡση τΡλΡυταίας ΡνέργΡιας",
-  "Redoes your last action": "Επαναφορά Ξ±Ο€ΟŒ αναίρΡση",
-  "Cut selection": "ΑποκοπΞ�",
-  "Copy selection": "ΑντιγραφΞ�",
-  "Paste from clipboard": "Ξ•Ο€ΞΉΞΊΟŒΞ»Ξ»Ξ·ΟƒΞ·",
-  "Direction left to right": "ΞšΞ±Ο„Ξ΅ΟΞΈΟ…Ξ½ΟƒΞ· αριστΡρά προς δΡξιά",
-  "Direction right to left": "ΞšΞ±Ο„Ξ΅ΟΞΈΟ…Ξ½ΟƒΞ· Ξ±Ο€ΟŒ δΡξιά προς τα αριστΡρά",
-  "OK": "OK",
-  "Cancel": "Ακύρωση",
-  "Path": "ΔιαδρομΞ�",
-  "You are in TEXT MODE.  Use the [<>] button to switch back to WYSIWYG.": "ΕίστΡ σΡ TEXT MODE.  ΧρησιμοποιΞ�στΡ το κουμπί [<>] Ξ³ΞΉΞ± Ξ½Ξ± ΡπανέρθΡτΡ στο WYSIWIG.",
-  "The full screen mode is known to cause problems with Internet Explorer, due to browser bugs that we weren": "Ξ— κατάσταση πλΞ�ρης ΞΏΞΈΟŒΞ½Ξ·Ο‚ έχΡι προβλΞ�ματα ΞΌΞ΅ τον Internet Explorer, Ξ»ΟŒΞ³Ο‰ σφαλμάτων στον ίδιο τον browser.  Αν το σύστημα σας Ρίναι Windows 9x μπορΡί ΞΊΞ±ΞΉ Ξ½Ξ± χρΡιαστΡίτΡ reboot. Αν ΡίστΡ σίγουροι, πατΞ�στΡ ΟΚ.",
-  "Cancel": "Ακύρωση",
-  "Insert/Modify Link": "ΕισαγωγΞ�/Ξ�ροποποίηση σύνδΡσμου",
-  "New window (_blank)": "Νέο παράθυρο (_blank)",
-  "None (use implicit)": "Κανένα (χρΞ�ση Ξ±Ο€ΟŒΞ»Ο…Ο„ΞΏΟ…)",
-  "Other": "Αλλο",
-  "Same frame (_self)": "Ίδιο frame (_self)",
-  "Target:": "Target:",
-  "Title (tooltip):": "Ξ�ίτλος (tooltip):",
-  "Top frame (_top)": "Πάνω frame (_top)",
-  "URL:": "URL:",
-  "You must enter the URL where this link points to": "ΠρέπΡι Ξ½Ξ± ΡισάγΡτΡ το URL που οδηγΡί Ξ±Ο…Ο„ΟŒΟ‚ ΞΏ σύνδΡσμος"
-}
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/lang/es.js b/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/lang/es.js
deleted file mode 100644
index d66dac0..0000000
--- a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/lang/es.js
+++ /dev/null
@@ -1,167 +0,0 @@
-// I18N constants
-// LANG: "de", ENCODING: UTF-8
-{
-  "Bold": "Negrita",
-  "Italic": "Cursiva",
-  "Underline": "Subrayado",
-  "Strikethrough": "Tachado",
-  "Subscript": "Subíndice",
-  "Superscript": "Superíndice",
-  "Justify Left": "Alinear a la izquierda",
-  "Justify Center": "Alinear al centro",
-  "Justify Right": "Alinear a la derecha",
-  "Justify Full": "Justificar",
-  "Ordered List": "Lista numerada",
-  "Bulleted List": "Lista no numerada",
-  "Decrease Indent": "Reducir sangría",
-  "Increase Indent": "Aumentar sangría",
-  "Font Color": "Color de la fuente",
-  "Background Color": "Color de fondo",
-  "Horizontal Rule": "Regla horizontal",
-  "Insert Web Link": "Insertar enlace web",
-  "Insert/Modify Image": "Insertar/modificar imagen",
-  "Insert Table": "Insertar una tabla",
-  "Toggle HTML Source": "Ver HTML",
-  "Enlarge Editor": "Editor a pantalla completa",
-  "About this editor": "Sobre este Editor",
-  "Help using editor": "Ayuda",
-  "Current style": "Estilo actual",
-  "Undoes your last action": "Deshacer",
-  "Redoes your last action": "Rehacer",
-  "Cut selection": "Cortar",
-  "Copy selection": "Copiar",
-  "Paste from clipboard": "Pegar desde el portapapeles",
-  "Direction left to right": "Dirección de izquierda a derecha",
-  "Direction right to left": "Dirección de derecha a izquierda",
-  "Remove formatting": "Borrar formato",
-  "Select all": "Seleccionar todo",
-  "Print document": "Imprimir documento",
-  "Clear MSOffice tags": "Borrar etiquetas de MSOffice",
-  "Clear Inline Font Specifications": "Borrar las etiquetas de fuente",
-  "Would you like to clear font typefaces?": "¿Desea eliminar las definiciaones de tipo de fuente?",
-  "Would you like to clear font sizes?": "¿Desea eliminar las definiciones de tamaño de fuente?",
-  "Would you like to clear font colours?": "¿Desea eliminar las definiciones de color de fuente?",
-  "Split Block": "Dividir el bloque",
-  "Toggle Borders": "Añadir/Quitar bordes",
-  "Save as": "Guardar como",
-  "Insert/Overwrite": "Insertar/Sobreescribir",
-  "&#8212; format &#8212;": "&#8212; formato &#8212;",
-  "&#8212; font &#8212;": "&#8212; fuente &#8212;",
-  "&#8212; size &#8212;": "&#8212; tamaño &#8212;",
-  "Heading 1": "Cabecera 1",
-  "Heading 2": "Cabecera 2",
-  "Heading 3": "Cabecera 3",
-  "Heading 4": "Cabecera 4",
-  "Heading 5": "Cabecera 5",
-  "Heading 6": "Cabecera 6",
-  "Normal": "Normal",
-  "Address": "Dirección",
-  "Formatted": "Formateado",
-
-  //dialogs
-  "OK": "Aceptar",
-  "Cancel": "Cancelar",
-  "Path": "Ruta",
-  "You are in TEXT MODE.  Use the [<>] button to switch back to WYSIWYG.": "Se encuentra en MODO TEXTO. Use el botón [<>] para cambiar de nuevo al modo WYSIWYG",
-   "The Paste button does not work in Mozilla based web browsers (technical security reasons). Press CTRL-V on your keyboard to paste directly.": "El botón de pegar no funciona en los navegadores de Mozilla por motivos de seguridad. Presione CTRL-V en su teclado para pegarlo directamente",
-
-  "You need to select some text before create a link": "Necesita seleccionar algún texto antes de crear un link",
-  "Your Document is not well formed. Check JavaScript console for details.": "Su documento no está bien formado. Compruebe la consola de JavaScript para obtener más detalles",
-
-  "Alignment:": "Alineación:",
-  "Not set": "No definido",
-  "Left": "Izquierda",
-  "Right": "Derecha",
-  "Texttop": "Texto Superior",
-  "Absmiddle": "Medio Absoluto",
-  "Baseline": "Línea base",
-  "Absbottom": "Inferior absoluto",
-  "Bottom": "Inferior",
-  "Middle": "Medio",
-  "Top": "Superior",
-
-  "Layout": "Distribución",
-  "Spacing": "Espaciado",
-  "Horizontal:": "horizontal:",
-  "Horizontal padding": "Relleno horizontal",
-  "Vertical:": "Vertical:",
-  "Vertical padding": "Relleno Vertical",
-  "Border thickness:": "Tamaño del borde:",
-  "Leave empty for no border": "Vacío si no desea ningún borde",
-
-  //Insert Link
-  "Insert/Modify Link": "Insertar/Modificar un enlace",
-  "None (use implicit)": "Vacío ( usar implícito )",
-  "New window (_blank)": "Nueva ventana (_blank)",
-  "Same frame (_self)": "Mismo marco (_self)",
-  "Top frame (_top)": "Marco superior (_top)",
-  "Other": "Otro",
-  "Target:": "Destino:",
-  "Title (tooltip):": "Título (Tooltip):",
-  "URL:": "URL:",
-  "You must enter the URL where this link points to": "Debe introducir la URL a donde apunta este enlace",
-
-  // Insert Table
-  "Insert Table": "Añadir una tabla",
-  "Rows:": "Filas:",
-  "Number of rows": "Número de filas",
-  "Cols:": "Columnas:",
-  "Number of columns": "Número de columnas",
-  "Width:": "Ancho:",
-  "Width of the table": "Ancho de la tabla",
-  "Percent": "Porcentaje",
-  "Pixels": "Pixels",
-  "Em": "Em",
-  "Width unit": "Unidad de anchura",
-  "Fixed width columns": "Columnas de ancho fijo",
-  "Positioning of this table": "Posición de esta tabla",
-  "Cell spacing:": "Espaciado entre celdas:",
-  "Space between adjacent cells": "Espaciado entre celdas adyacentes",
-  "Cell padding:": "Relleno de celdas:",
-  "Space between content and border in cell": "Escapcio entre el contenido y el borde de la celda",
-  "You must enter a number of rows": "Debe introducir un número de filas",
-  "You must enter a number of columns": "Debe introducir un número de columnas",
-
-  // Insert Image
-  "Insert Image": "Insertar una imagen",
-  "Image URL:": "Imagen URL:",
-  "Enter the image URL here": "",
-  "Preview": "Previsualizar",
-  "Preview the image in a new window": "Previsualizar en una nueva ventana",
-  "Alternate text:": "Texto alternativo:",
-  "For browsers that don't support images": "Para navegadores que no soportan imágenes",
-  "Positioning of this image": "Posición de la imagen",
-  "Image Preview:": "Previsualización de la imagen:",
-  "You must enter the URL": "Debe introducir la URL",
-
-  // Editor Help
-  "Keyboard shortcuts": "Atajos de teclado",
-  "The editor provides the following key combinations:": "El editor proporciona las siguientes combinaciones:",
-  "new paragraph": "Nuevo parrafo",
-  "insert linebreak": "Insertar salto de línea",
-  "Set format to paragraph": "EStablecer el formato a parrafo",
-  "Clean content pasted from Word": "Limpiar el contenido pegado desde Word",
-  "Headings": "Cabeceras",
-  "Close": "Cerrar",
-
-  // Loading messages
-  "Loading in progress. Please wait!": "Carga en proceso. Por favor espere.",
-  "Loading plugin $plugin" : "Cargando el plugin $plugin",
-  "Register plugin $plugin" : "Registro de plugin $plugin", 
-  "Constructing object": "Construyendo objeto",
-  "Generate Xinha framework": "Generar Xinha framework",
-  "Init editor size":"Iniciar el tamaño del editor", 
-  "Create Toolbar": "Crear barra de herramientas",
-  "Create Statusbar" : "Crear barra de estado",
-  "Register right panel" : "Registrar panel derecho", 
-  "Register left panel" : "Registrar panel izquierdo", 
-  "Register bottom panel" : "Registar panel inferior", 
-  "Register top panel" : "Registar panel superior", 
-  "Finishing" : "Finalizando",
-  
-  // ColorPicker
-  "Click a color..." : "Seleccione un color...",
-  "Sample" : "Muestra",
-  "Web Safe: " : "Color web: ",
-  "Color: " : "Color: "
-}
\ No newline at end of file
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/lang/eu.js b/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/lang/eu.js
deleted file mode 100644
index 62c13f4..0000000
--- a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/lang/eu.js
+++ /dev/null
@@ -1,169 +0,0 @@
-// I18N constants
-// LANG: "eu", ENCODING: UTF-8
-{
-  "Bold": "Lodia",
-  "Italic": "Etzana",
-  "Underline": "Azpimarratua",
-  "Strikethrough": "Marratua",
-  "Subscript": "Azpindizea",
-  "Superscript": "Goi-indizea",
-  "Justify Left": "Ezkerretara lerrokatu",
-  "Justify Center": "Zentratu",
-  "Justify Right": "Eskuinetara lerrokatu",
-  "Justify Full": "Justifikatu",
-  "Ordered List": "Zerrenda ordenatua",
-  "Bulleted List": "Zerrenda ez ordenatua",
-  "Decrease Indent": "Koska handitu",
-  "Increase Indent": "Koska txikitu",
-  "Font Color": "Testu-kolorea",
-  "Background Color": "Atzeko kolorea",
-  "Horizontal Rule": "Marra horizontala",
-  "Insert Web Link": "Lotura txertatu",
-  "Insert/Modify Image": "Irudia txertatu",
-  "Insert Table": "Taula txertatu",
-  "Toggle HTML Source": "Ikusi dokumentua HTML-n",
-  "Enlarge Editor": "Editorea handitu",
-  "About this editor": "Editoreari buruz...",
-  "Help using editor": "Laguntza",
-  "Current style": "Uneko estiloa",
-  "Undoes your last action": "Desegin",
-  "Redoes your last action": "Berregin",
-  "Cut selection": "Ebaki hautaketa",
-  "Copy selection": "Kopiatu hautaketa",
-  "Paste from clipboard": "Itsatsi arbelean dagoena",
-  "Direction left to right": "Ezkerretik eskuinetarako norabidea",
-  "Direction right to left": "Eskuinetik ezkerretarako norabidea",
-  "Remove formatting": "Formatoa kendu",
-  "Select all": "Dena aukeratu",
-  "Print document": "Dokumentua inprimatu",
-  "Clear MSOffice tags": "MSOffice etiketak ezabatu",
-  "Clear Inline Font Specifications": "Ezabatu testuaren ezaugarriak",
-  "Would you like to clear font typefaces?": "Letra-tipoak ezabatu nahi al dituzu?",
-  "Would you like to clear font sizes?": "Letra-tipoen neurriak ezabatu nahi al dituzu?",
-  "Would you like to clear font colours?": "Letra-tipoen koloreak ezabatu nahi al dituzu?",
-  "Split Block": "Blokea zatitu",
-  "Toggle Borders": "Ertzak trukatu",
-  "Save as": "Gorde honela:",
-  "Insert/Overwrite": "Txertatu/Gainidatzi",
-  "&#8212; format &#8212;": "&#8212; Formatua &#8212;",
-  "Heading 1": "Goiburua 1",
-  "Heading 2": "Goiburua 2",
-  "Heading 3": "Goiburua 3",
-  "Heading 4": "Goiburua 4",
-  "Heading 5": "Goiburua 5",
-  "Heading 6": "Goiburua 6",
-  "Normal": "Normala",
-  "Address": "Helbidea",
-  "Formatted": "Formateatua",
-
-  //dialogs
-  "OK": "Ados",
-  "Cancel": "Utzi",
-  "Path": "Bidea",
-  "You are in TEXT MODE.  Use the [<>] button to switch back to WYSIWYG.": "TESTU eran ari zara. Erabil ezazu [<>] botoia WYSIWIG erara itzultzeko.",
-   "The Paste button does not work in Mozilla based web browsers (technical security reasons). Press CTRL-V on your keyboard to paste directly.": "Itsatsi botoia ez dabil Mozillan oinarritutako nabigatzaileetan (arrazoi teknikoengatik). Sacatu CTRL-V zure teklatuan, zuzenean itsasteko.",
-
-  "You need to select some text before create a link": "Testu-atal bat aukeratu behar duzu lehendabizi, lotura bat sortzeko",
-  "Your Document is not well formed. Check JavaScript console for details.": "Zure dokumentuak ez du formatu zuzena. Begira ezazu JavaScript kontsola xehetasunetarako.",
-
-  "Alignment:": "Lerrokatzea:",
-  "Not set": "Ez gaitua",
-  "Left": "Ezkerretara",
-  "Right": "Eskuinetara",
-  "Texttop": "Irudiaren goialdean",
-  "Absmiddle": "Irudiaren erdian",
-  "Baseline": "Irudiaren oinean",
-  "Absbottom": "Irudiaren behekaldean",
-  "Bottom": "Behean",
-  "Middle": "Erdian",
-  "Top": "Goian",
-
-  "Layout": "Diseinua",
-  "Spacing": "Tartea",
-  "Horizontal:": "Horizontala:",
-  "Horizontal padding": "Betegarri horizontala",
-  "Vertical:": "Bertikala:",
-  "Vertical padding": "Betegarri bertikala",
-  "Border thickness:": "Ertzaren lodiera:",
-  "Leave empty for no border": "Uztazu hutsik ertzik ez sortzeko",
-
-  //Insert Link
-  "Insert/Modify Link": "Lotura txertatu/aldatu",
-  "None (use implicit)": "Bat ere ez (implizituki erabili)",
-  "New window (_blank)": "Lehio berrian (_blank)",
-  "Same frame (_self)": "Frame berean (_self)",
-  "Top frame (_top)": "Goiko frame-an (_top)",
-  "Other": "Beste bat",
-  "Target:": "Helburua:",
-  "Title (tooltip):": "Izenburua (argibidea):",
-  "URL:": "URL-a:",
-  "You must enter the URL where this link points to": "Loturaren helburu den URL-a idatzi behar duzu",
-
-  // Insert Table
-  "Insert Table": "Taula txertatu",
-  "Rows:": "Lerroak:",
-  "Number of rows": "Lerro-kopurua",
-  "Cols:": "Zutabeak:",
-  "Number of columns": "Zutabe-kopurua",
-  "Width:": "Zabalera:",
-  "Width of the table": "Taularen zabalera",
-  "Percent": "Portzentaia",
-  "Pixels": "Pixelak",
-  "Em": "Em",
-  "Width unit": "Zabalera-unitatea",
-  "Fixed width columns": "Zabalera finkodun zutabeak",
-  "Positioning of this table": "Taula honen kokapena",
-  "Cell spacing:": "Gelaxka-tartea:",
-  "Space between adjacent cells": "Gelaxka auzokideen arteko tartea",
-  "Cell padding:": "Gelaxkaren betegarria:",
-  "Space between content and border in cell": "Gelaxkaren edukia eta ertzaren arteko tartea",
-  "You must enter a number of rows": "Lerro-kopurua idatzi behar duzu",
-  "You must enter a number of columns": "Zutabe-kopurua idatzi behar duzu",
-
-  // Insert Image
-  "Insert Image": "Irudia txertatu",
-  "Image URL:": "Irudiaren URL-a:",
-  "Enter the image URL here": "Idatz ezazu irudiaren URL-a hemen",
-  "Preview": "Aurrebista",
-  "Preview the image in a new window": "Aurreikusi irudia beste lehio batean",
-  "Alternate text:": "Testu alternatiboa:",
-  "For browsers that don't support images": "Irudirik onartzen ez duten nabigatzaileentzat",
-  "Positioning of this image": "Irudiaren kokapena",
-  "Image Preview:": "Irudiaren aurrebista:",
-  "You must enter the URL": "URL-a idatzi behar duzu",
-
-  "button_bold": "de/bold.gif",
-  "button_italic": "de/italic.gif",
-  "button_underline": "de/underline.gif",
-
-  // Editor Help
-  "Keyboard shortcuts": "Laster-teklak",
-  "The editor provides the following key combinations:": "Editoreak ondorengo tekla-konbinazioak eskaintzen ditu:",
-  "new paragraph": "Paragrafo berria",
-  "insert linebreak": "Lerro-jauzia txertatu",
-  "Set format to paragraph": "Formatua ezarri paragrafoari",
-  "Clean content pasted from Word": "Word-etik itsatsitako edukia ezabatu",
-  "Headings": "Goiburuak",
-  "Close": "Itxi",
-
-  // Loading messages
-  "Loading in progress. Please wait!": "Kargatzen. Itxaron mesedez",
-  "Loading plugin $plugin" : "$plugin plugina kargatzen",
-  "Register plugin $plugin" : "$plugin plugina erregistratu", 
-  "Constructing object": "Objektua eraikitzen",
-  "Generate Xinha framework": "Xinha Framework sortzen",
-  "Init editor size":"Editorearen hasierako neurria", 
-  "Create Toolbar": "Tresna-barra sortu",
-  "Create Statusbar" : "Egoera-barra sortu",
-  "Register right panel" : "Eskuin-panela erregistratu", 
-  "Register left panel" : "Ezker-panela erregistratu", 
-  "Register bottom panel" : "Beheko panela erregistratu", 
-  "Register top panel" : "Goiko panela erregistratu", 
-  "Finishing" : "Bukatzen", 
-  
-  // ColorPicker
-  "Click a color..." : "Kolore bat aukeratu...",
-  "Sample" : "Lagina",
-  "Web Safe: " : "Web Safe: ",
-  "Color: " : "Kolorea: "
-};
\ No newline at end of file
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/lang/fa.js b/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/lang/fa.js
deleted file mode 100644
index 59d0fca..0000000
--- a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/lang/fa.js
+++ /dev/null
@@ -1,169 +0,0 @@
-// I18N constants

-// LANG: "fa", ENCODING: UTF-8

-{

-  "Bold": "ضخیم",

-  "Italic": "مورب",

-  "Underline": "زیر خط",

-  "Strikethrough": "رو خط",

-  "Subscript": "زیروند",

-  "Superscript": "بالاوند",

-  "Justify Left": "تراز از چپ",

-  "Justify Center": "تراز در وسط",

-  "Justify Right": "تراز در راست",

-  "Justify Full": "تراز از چپ و راست",

-  "Ordered List": "فهرست مرتب",

-  "Bulleted List": "فهرست گلوله ای",

-  "Decrease Indent": "کاهش سر خط",

-  "Increase Indent": "افزایش سر خط",

-  "Font Color": "رنگ فلم",

-  "Background Color": "رنگ پس زمینه",

-  "Horizontal Rule": "خط افقی",

-  "Insert Web Link": "افزودن لینک وب",

-  "Insert/Modify Image": "افزودن یا ویرایش تصویر",

-  "Insert Table": "افزودن جدول",

-  "Toggle HTML Source": "مشاهده یا عدم مشاهده متن در قالب HTML",

-  "Enlarge Editor": "بزرگ کردن ویرایش گر",

-  "About this editor": "درباره این ویرایش گر",

-  "Help using editor": "راهنمای استفاده ویرایش گر",

-  "Current style": "شیوه کنونی",

-  "Undoes your last action": "برگرداندن آخرین عمل",

-  "Redoes your last action": "انجام مجدد آخرین عمل",

-  "Cut selection": "بریدن انتخاب شده",

-  "Copy selection": "کپی انتخاب شده",

-  "Paste from clipboard": "چسباندن از تخته کار",

-  "Direction left to right": "جهت از چپ به راست",

-  "Direction right to left": "جهت از راست به چپ",

-  "Remove formatting": "حذف فرمت بندی",

-  "Select all": "انتخاب همه",

-  "Print document": "چاپ سند",

-  "Clear MSOffice tags": "پاک کردن متن از برچسب های MSOffice",

-  "Clear Inline Font Specifications": "پاک کردن متن از مشخصات فونت",

-  "Would you like to clear font typefaces?": "آیا تمایل دارید ظاهر فلم را پاک کنید؟",

-  "Would you like to clear font sizes?": "آیا تمایل دارید اندازه قلم را پاک کنید",

-  "Would you like to clear font colours?": "آیا تمایل دارید رنگ قلم را پاک کنید؟",

-  "Split Block": "بلاک جداسازی",

-  "Toggle Borders": "فعال/غیر فعال کردن لبه ها",

-  "Save as": "ذخیره مانند...",

-  "Insert/Overwrite": "افزودن/جانویسی",

-  "&#8212; format &#8212;": "&#8212; قالب &#8212;",

-  "Heading 1": "تیتر 1",

-  "Heading 2": "تیتر 2",

-  "Heading 3": "تیتر 3",

-  "Heading 4": "تیتر 4",

-  "Heading 5": "تیتر 5",

-  "Heading 6": "تیتر 6",

-  "Normal": "معمولی",

-  "Address": "آدرس",

-  "Formatted": "قالب بندی شده",

-

-  //dialogs

-  "OK": "بله",

-  "Cancel": "انصراف",

-  "Path": "مسیر",

-  "You are in TEXT MODE.  Use the [<>] button to switch back to WYSIWYG.": "در مد متنی هستید.  از دکمه [<>] استفاده نمایید تا به مد WYSIWYG برگردید.",

-  "The Paste button does not work in Mozilla based web browsers (technical security reasons). Press CTRL-V on your keyboard to paste directly.": "دکمه چسباندن در مرورگرهای سری Mozilla کار نمی کند (به دلایل فنی امنیتی).برای چسباندن مستقیم ، دکمه CTRL-V را در صفحه کلید بزنید.",

-  "Your Document is not well formed. Check JavaScript console for details.": "سند شما بدرستی قالب بندی نشده است. برای اطلاعات بیشتر پایانه نمایش جاوااسکریپت را بررسی کنید.",

-

-  "Alignment:": "تراز بندی",

-  "Not set": "تنظیم نشده",

-  "Left": "چپ",

-  "Right": "راست",

-  "Texttop": "بالای متن",

-  "Absmiddle": "دقیقا وسط",

-  "Baseline": "ابتدای خط",

-  "Absbottom": "دقیقا پایین",

-  "Bottom": "پایین",

-  "Middle": "وسط",

-  "Top": "بالا",

-

-  "Layout": "لایه",

-  "Spacing": "فاصله گذاری",

-  "Horizontal:": "افقی",

-  "Horizontal padding": "پرکننده افقی",

-  "Vertical:": "عمودی",

-  "Vertical padding": "پرکننده عمودی",

-  "Border thickness:": "ضخامت لبه",

-  "Leave empty for no border": "برای بدون لبه خالی رها کن",

-

-  //Insert Link

-  "Insert/Modify Link": "افزودن / ویرایش لینک",

-  "None (use implicit)": "هیچکدام (استفاده از بدون شرط)",

-  "New window (_blank)": "پنجره جدید (_blank)",

-  "Same frame (_self)": "فریم یکسان (_self)",

-  "Top frame (_top)": "فریم بالایی (_top)",

-  "Other": "سایر",

-  "Target:": "هدف",

-  "Title (tooltip):": "عنوان (راهنمای یک خطی)",

-  "URL:": "URL:",

-  "You must enter the URL where this link points to": "باید URLی که این لینک به آن اشاره دارد را وارد کنید",

-  "You need to select some text before creating a link": "باید قبل از ساخت لینک ، متنی را انتخاب نمایید",

-

-  // Insert Table

-  "Insert Table": "افزودن جدول",

-  "Rows:": "ردیف ها",

-  "Number of rows": "تعداد ردیف ها",

-  "Cols:": "ستون ها",

-  "Number of columns": "تعداد ستون ها",

-  "Width:": "طول",

-  "Width of the table": "طول جدول",

-  "Percent": "درصد",

-  "Pixels": "پیکسل ها",

-  "Em": "Em",

-  "Width unit": "واحد طول",

-  "Fixed width columns": "ستون های طول ثابت",

-  "Positioning of this table": "موقعیت یابی این جدول",

-  "Cell spacing:": "فاصله سلول ها",

-  "Space between adjacent cells": "فاصله بین سلول های همجوار",

-  "Cell padding:": "پر کننده سلول",

-  "Space between content and border in cell": "فاصله بین محتوا و لبه در سلول",

-  "You must enter a number of rows": "باید تعداد ردیف ها را وارد کنید",

-  "You must enter a number of columns": "باید تعداد ستون ها را وارد کنید",

-

-  // Insert Image

-  "Insert Image": "افزودن تصویر",

-  "Image URL:": "URL تصویر",

-  "Enter the image URL here": "URL تصویر را اینجا وارد کنید",

-  "Preview": "پیش نمایش",

-  "Preview the image in a new window": "پیش نمایش تصویر در پنجره ای جدید",

-  "Alternate text:": "متن جایگزین",

-  "For browsers that don't support images": "برای مرورگرهایی که از تصاویر پشتیبانی نمی کنند",

-  "Positioning of this image": "موقعیت یابی تصویر",

-  "Image Preview:": "پیش نمایش تصویر",

-  "You must enter the URL": "شما باید URL را وارد کنید",

-

-  // toolbar

-  /*

-  "button_bold": "fr/bold.gif",

-  "button_underline": "fr/underline.gif",

-  "button_strikethrough": "fr/strikethrough.gif",

-  */

-

-  // Editor Help

-  "Xinha Help": "راهنمای Xinha",

-  "Editor Help": "راهنمای ویرایشگر",

-  "Keyboard shortcuts": "میانبرهای صفحه کلید",

-  "The editor provides the following key combinations:": "ویرایشگر استفاده از کلید های گروهی زیر را مسیر می سازد :",

-  "ENTER": "ENTREE",

-  "new paragraph": "پاراگراف جدید",

-  "SHIFT-ENTER": "SHIFT+ENTREE",

-  "insert linebreak": "افزودن جدا کننده خط",

-  "Set format to paragraph": "تغییر قالب به پاراگراف",

-  "Clean content pasted from Word": "تمیز کردن محتوای چسبانده شده از Word",

-  "Headings": "عنوان گذاری",

-  "Close": "بستن",

-

-  // Loading messages

-  "Loading in progress. Please wait !": "بارگذاری در حال انجام است. لطفا صبر کنید !",

-  "Constructing main object": "ساختن شیء اصلی",

-  "Constructing object": "ساختن شیء",

-  "Register panel right": "ثبت قاب راست",

-  "Register panel left": "ثبت قاب چپ",

-  "Register panel top": "ثبت قاب بالا",

-  "Register panel bottom": "ثبت قاب پایین",

-  "Create Toolbar": "ساخت نوار ابزار",

-  "Create StatusBar": "ساخت نوار وضعیت",

-  "Generate Xinha object": "تولید شیء Xinha",

-  "Init editor size": "مقدار دهی اندازه ویرایشگر",

-  "Init IFrame": "مقدار دهی IFrame",

-  "Register plugin $plugin": "ثبت پلاگین $plugin"

-};
\ No newline at end of file
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/lang/fi.js b/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/lang/fi.js
deleted file mode 100644
index e057b9a..0000000
--- a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/lang/fi.js
+++ /dev/null
@@ -1,38 +0,0 @@
-// I18N constants
-
-// LANG: "en", ENCODING: UTF-8
-
-{
-  "Bold": "Lihavoitu",
-  "Italic": "Kursivoitu",
-  "Underline": "Alleviivattu",
-  "Strikethrough": "Yliviivattu",
-  "Subscript": "Alaindeksi",
-  "Superscript": "Yläindeksi",
-  "Justify Left": "Tasaa vasemmat reunat",
-  "Justify Center": "Keskitä",
-  "Justify Right": "Tasaa oikeat reunat",
-  "Justify Full": "Tasaa molemmat reunat",
-  "Ordered List": "Numerointi",
-  "Bulleted List": "Luettelomerkit",
-  "Decrease Indent": "Pienennä sisennystä",
-  "Increase Indent": "Lisää sisennystä",
-  "Font Color": "Fontin väri",
-  "Background Color": "Taustaväri",
-  "Horizontal Rule": "Vaakaviiva",
-  "Insert Web Link": "Lisää linkki",
-  "Insert/Modify Image": "Lisää kuva",
-  "Insert Table": "Lisää taulukko",
-  "Toggle HTML Source": "HTML-lähdekoodi vs WYSIWYG",
-  "Enlarge Editor": "Suurenna editori",
-  "About this editor": "Tietoja editorista",
-  "Help using editor": "Näytä ohje",
-  "Current style": "Nykyinen tyyli",
-  "Undoes your last action": "Peruuta viimeinen toiminto",
-  "Redoes your last action": "Palauta viimeinen toiminto",
-  "Cut selection": "Leikkaa maalattu",
-  "Copy selection": "Kopioi maalattu",
-  "Paste from clipboard": "Liitä leikepyödältä",
-  "OK": "Hyväksy",
-  "Cancel": "Peruuta"
-}
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/lang/fr.js b/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/lang/fr.js
deleted file mode 100644
index a71d8de..0000000
--- a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/lang/fr.js
+++ /dev/null
@@ -1,171 +0,0 @@
-// I18N constants
-// LANG: "fr", ENCODING: UTF-8
-{
-  "Bold": "Gras",
-  "Italic": "Italique",
-  "Underline": "Souligné",
-  "Strikethrough": "Barré",
-  "Subscript": "Indice",
-  "Superscript": "Exposant",
-  "Justify Left": "Aligner à gauche",
-  "Justify Center": "Centrer",
-  "Justify Right": "Aligner à droite",
-  "Justify Full": "Justifier",
-  "Ordered List": "Liste numérotée",
-  "Bulleted List": "Liste à puces",
-  "Decrease Indent": "Diminuer le retrait",
-  "Increase Indent": "Augmenter le retrait",
-  "Font Color": "Couleur de police",
-  "Background Color": "Surlignage",
-  "Horizontal Rule": "Ligne horizontale",
-  "Insert Web Link": "Insérer un lien",
-  "Insert/Modify Image": "Insérer / Modifier une image",
-  "Insert Table": "Insérer un tableau",
-  "Toggle HTML Source": "Afficher / Masquer code source",
-  "Enlarge Editor": "Agrandir l'éditeur",
-  "About this editor": "A propos",
-  "Help using editor": "Aide",
-  "Current style": "Style courant",
-  "Undoes your last action": "Annuler la dernière action",
-  "Redoes your last action": "Répéter la dernière action",
-  "Cut selection": "Couper la sélection",
-  "Copy selection": "Copier la sélection",
-  "Paste from clipboard": "Coller depuis le presse-papier",
-  "Direction left to right": "Direction de gauche à droite",
-  "Direction right to left": "Direction de droite à gauche",
-  "Remove formatting": "Supprimer mise en forme",
-  "Select all": "Tout sélectionner",
-  "Print document": "Imprimer document",
-  "Clear MSOffice tags": "Supprimer tags MSOffice",
-  "Clear Inline Font Specifications": "Supprimer paramètres inline de la police",
-  "Would you like to clear font typefaces?": "Voulez-vous supprimer les types ?",
-  "Would you like to clear font sizes?": "Voulez-vous supprimer les tailles ?",
-  "Would you like to clear font colours?": "Voulez-vous supprimer les couleurs ?",
-  "Split Block": "Séparer les blocs",
-  "Toggle Borders": "Afficher / Masquer les bordures",
-  "Save as": "Enregistrer sous",
-  "Insert/Overwrite": "Insertion / Remplacement",
-  "&#8212; format &#8212;": "&#8212; Format &#8212;",
-  "Heading 1": "Titre 1",
-  "Heading 2": "Titre 2",
-  "Heading 3": "Titre 3",
-  "Heading 4": "Titre 4",
-  "Heading 5": "Titre 5",
-  "Heading 6": "Titre 6",
-  "Normal": "Normal",
-  "Address": "Adresse",
-  "Formatted": "Formaté",
-
-  //dialogs
-  "OK": "OK",
-  "Cancel": "Annuler",
-  "Path": "Chemin",
-  "You are in TEXT MODE.  Use the [<>] button to switch back to WYSIWYG.": "Vous êtes en MODE TEXTE.  Appuyez sur le bouton [<>] pour retourner au mode WYSIWYG.",
-  "The Paste button does not work in Mozilla based web browsers (technical security reasons). Press CTRL-V on your keyboard to paste directly.": "Le bouton Coller ne fonctionne pas sur les navigateurs basés sur Mozilla (pour des raisons de sécurité). Pressez CTRL-V au clavier pour coller directement.",
-  "Your Document is not well formed. Check JavaScript console for details.": "Le document est mal formé. Vérifiez la console JavaScript pour plus de détails.",
-
-  "Alignment:": "Alignement",
-  "Not set": "Indéfini",
-  "Left": "Gauche",
-  "Right": "Droite",
-  "Texttop": "Texttop",
-  "Absmiddle": "Absmiddle",
-  "Baseline": "Baseline",
-  "Absbottom": "Absbottom",
-  "Bottom": "Bas",
-  "Middle": "Milieu",
-  "Top": "Haut",
-
-  "Layout": "Mise en page",
-  "Spacing": "Espacement",
-  "Horizontal:": "Horizontal",
-  "Horizontal padding": "Marge horizontale interne",
-  "Vertical:": "Vertical",
-  "Vertical padding": "Marge verticale interne",
-  "Border thickness:": "Epaisseur de bordure",
-  "Leave empty for no border": "Laisser vide pour pas de bordure",
-
-  //Insert Link
-  "Insert/Modify Link": "Insérer / Modifier un lien",
-  "None (use implicit)": "Aucune (implicite)",
-  "New window (_blank)": "Nouvelle fenêtre (_blank)",
-  "Same frame (_self)": "Même frame (_self)",
-  "Top frame (_top)": "Frame principale (_top)",
-  "Other": "Autre",
-  "Target:": "Cible",
-  "Title (tooltip):": "Texte alternatif",
-  "URL:": "URL:",
-  "You must enter the URL where this link points to": "Vous devez entrer l'URL de ce lien",
-  "You need to select some text before creating a link": "Vous devez sélectionner du texte avant de créer un lien",
-
-  // Insert Table
-  "Insert Table": "Insérer un tableau",
-  "Rows:": "Lignes",
-  "Number of rows": "Nombre de lignes",
-  "Cols:": "Colonnes",
-  "Number of columns": "Nombre de colonnes",
-  "Width:": "Largeur",
-  "Width of the table": "Largeur du tableau",
-  "Percent": "Pourcent",
-  "Pixels": "Pixels",
-  "Em": "Em",
-  "Width unit": "Unités de largeur",
-  "Fixed width columns": "Colonnes à taille fixe",
-  "Positioning of this table": "Position du tableau",
-  "Cell spacing:": "Espacement",
-  "Space between adjacent cells": "Espace entre les cellules adjacentes",
-  "Cell padding:": "Marge interne",
-  "Space between content and border in cell": "Espace entre le contenu et la bordure d'une cellule",
-  "You must enter a number of rows": "Vous devez entrer le nombre de lignes",
-  "You must enter a number of columns": "Vous devez entrer le nombre de colonnes",
-
-  // Insert Image
-  "Insert Image": "Insérer une image",
-  "Image URL:": "URL image",
-  "Enter the image URL here": "Entrer l'URL de l'image ici",
-  "Preview": "Prévisualiser",
-  "Preview the image in a new window": "Prévisualiser l'image dans une nouvelle fenêtre",
-  "Alternate text:": "Texte alternatif",
-  "For browsers that don't support images": "Pour les navigateurs qui ne supportent pas les images",
-  "Positioning of this image": "Position de l'image",
-  "Image Preview:": "Prévisualisation",
-  "You must enter the URL": "Vous devez entrer l'URL",
-
-  // toolbar
-/*
-  "button_bold": "fr/bold.gif",
-  "button_underline": "fr/underline.gif",
-  "button_strikethrough": "fr/strikethrough.gif",
-*/
-
-  // Editor Help
-  "Xinha Help": "Aide Xinha",
-  "Editor Help": "Aide de l'éditeur",
-  "Keyboard shortcuts": "Raccourcis clavier",
-  "The editor provides the following key combinations:": "L'éditeur fournit les combinaisons de touches suivantes :",
-  "ENTER": "ENTREE",
-  "new paragraph": "Nouveau paragraphe",
-  "SHIFT-ENTER": "SHIFT+ENTREE",
-  "insert linebreak": "Insère un saut de ligne",
-  "Set format to paragraph": "Applique le format paragraphe",
-  "Clean content pasted from Word": "Nettoyage du contenu copié depuis Word",
-  "Headings": "Titres",
-  "Close": "Fermer",
-
-  // Loading messages
-  "Loading in progress. Please wait!": "Chargement en cours. Veuillez patienter!",
-  "Finishing" : "Chargement bientôt terminé", 
-  "Constructing object": "Construction de l'objet",
-  "Create Toolbar": "Construction de la barre d'icones",
-  "Create Statusbar": "Construction de la barre de status",
-  "Register right panel" : "Enregistrement du panneau droit", 
-  "Register left panel" : "Enregistrement du panneau gauche", 
-  "Register bottom panel" : "Enregistrement du panneau supérieur", 
-  "Register top panel" : "Enregistrement du panneau inférieur", 
-  "Generate Xinha framework": "Génération de Xinha",
-  "Init editor size": "Initialisation de la taille d'édition",
-  "Init IFrame": "Initialisation de l'iframe",
-  "Register plugin $plugin": "Enregistrement du plugin $plugin",
-  "Loading plugin $plugin" : "Chargement du plugin $plugin"
-
-};
\ No newline at end of file
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/lang/gb.js b/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/lang/gb.js
deleted file mode 100644
index b4fb5b6..0000000
--- a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/lang/gb.js
+++ /dev/null
@@ -1,29 +0,0 @@
-// I18N constants -- Chinese GB
-// by Dave Lo -- dlo@interactivetools.com
-{
-  "Bold": "粗体",
-  "Italic": "斜体",
-  "Underline": "底线",
-  "Strikethrough": "删除线",
-  "Subscript": "下标",
-  "Superscript": "上标",
-  "Justify Left": "位置靠左",
-  "Justify Center": "位置居中",
-  "Justify Right": "位置靠右",
-  "Justify Full": "位置左右平等",
-  "Ordered List": "顺序清单",
-  "Bulleted List": "无序清单",
-  "Decrease Indent": "减小行前空白",
-  "Increase Indent": "加宽行前空白",
-  "Font Color": "文字颜色",
-  "Background Color": "背景颜色",
-  "Horizontal Rule": "水平线",
-  "Insert Web Link": "插入连结",
-  "Insert/Modify Image": "插入图形",
-  "Insert Table": "插入表格",
-  "Toggle HTML Source": "切换HTML原始码",
-  "Enlarge Editor": "放大",
-  "About this editor": "关於 Xinha",
-  "Help using editor": "说明",
-  "Current style": "字体例子"
-}
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/lang/he.js b/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/lang/he.js
deleted file mode 100644
index e39d3fc..0000000
--- a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/lang/he.js
+++ /dev/null
@@ -1,64 +0,0 @@
-// I18N constants
-
-// LANG: "he", ENCODING: UTF-8
-// Author: Liron Newman, http://www.eesh.net, <plastish at ultinet dot org>
-
-// FOR TRANSLATORS:
-//
-//   1. PLEASE PUT YOUR CONTACT INFO IN THE ABOVE LINE
-//      (at least a valid email address)
-//
-//   2. PLEASE TRY TO USE UTF-8 FOR ENCODING;
-//      (if this is not possible, please include a comment
-//       that states what encoding is necessary.)
-
-{
-  "Bold": "מודגש",
-  "Italic": "נטוי",
-  "Underline": "קו תחתי",
-  "Strikethrough": "קו אמצע",
-  "Subscript": "כתב עילי",
-  "Superscript": "כתב תחתי",
-  "Justify Left": " ישור לשמאל",
-  "Justify Center": "ישור למרכז",
-  "Justify Right": "ישור לימין",
-  "Justify Full": "ישור לשורה מלאה",
-  "Ordered List": "רשימה ממוספרת",
-  "Bulleted List": "רשימה לא ממוספרת",
-  "Decrease Indent": "הקטן כניסה",
-  "Increase Indent": "הגדל כניסה",
-  "Font Color": "צבע גופן",
-  "Background Color": "צבע רקע",
-  "Horizontal Rule": "קו אנכי",
-  "Insert Web Link": "הכנס היפר-קישור",
-  "Insert/Modify Image": "הכנס/שנה תמונה",
-  "Insert Table": "הכנס טבלה",
-  "Toggle HTML Source": "שנה מצב קוד HTML",
-  "Enlarge Editor": "הגדל את העורך",
-  "About this editor": "אודות עורך זה",
-  "Help using editor": "עזרה לשימוש בעורך",
-  "Current style": "סגנון נוכחי",
-  "Undoes your last action": "מבטל את פעולתך האחרונה",
-  "Redoes your last action": "מבצע מחדש את הפעולה האחרונה שביטלת",
-  "Cut selection": "גזור בחירה",
-  "Copy selection": "העתק בחירה",
-  "Paste from clipboard": "הדבק מהלוח",
-  "Direction left to right": "כיוון משמאל לימין",
-  "Direction right to left": "כיוון מימין לשמאל",
-  "OK": "אישור",
-  "Cancel": "ביטול",
-  "Path": "נתיב עיצוב",
-  "You are in TEXT MODE.  Use the [<>] button to switch back to WYSIWYG.": "אתה במצב טקסט נקי (קוד). השתמש בכפתור [<>] כדי לחזור למצב WYSIWYG (תצוגת עיצוב).",
-  "The full screen mode is known to cause problems with Internet Explorer, due to browser bugs that we weren": "מצב מסך מלא יוצר בעיות בדפדפן Internet Explorer, עקב באגים בדפדפן לא יכולנו לפתור את זה.  את/ה עלול/ה לחוות תצוגת זבל,  בעיות בתפקוד העורך ו/או קריסה של הדפדפן.  אם המערכת שלך היא Windows 9x סביר להניח שתקבל/י ",
-  "Cancel": "ביטול",
-  "Insert/Modify Link": "הוסף/שנה קישור",
-  "New window (_blank)": "חלון חדש (_blank)",
-  "None (use implicit)": "ללא (השתמש ב-frame הקיים)",
-  "Other": "אחר",
-  "Same frame (_self)": "אותו frame (_self)",
-  "Target:": "יעד:",
-  "Title (tooltip):": "כותרת (tooltip):",
-  "Top frame (_top)": "Frame עליון (_top)",
-  "URL:": "URL:",
-  "You must enter the URL where this link points to": "חובה לכתוב URL שאליו קישור זה מצביע"
-}
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/lang/hu.js b/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/lang/hu.js
deleted file mode 100644
index a4b1fa4..0000000
--- a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/lang/hu.js
+++ /dev/null
@@ -1,64 +0,0 @@
-// I18N constants
-
-// LANG: "hu", ENCODING: UTF-8
-// Author: Miklós Somogyi, <somogyine@vnet.hu>
-
-// FOR TRANSLATORS:
-//
-//   1. PLEASE PUT YOUR CONTACT INFO IN THE ABOVE LINE
-//      (at least a valid email address)
-//
-//   2. PLEASE TRY TO USE UTF-8 FOR ENCODING;
-//      (if this is not possible, please include a comment
-//       that states what encoding is necessary.)
-
-{
-  "Bold": "Félkövér",
-  "Italic": "Dőlt",
-  "Underline": "Aláhúzott",
-  "Strikethrough": "Áthúzott",
-  "Subscript": "Alsó index",
-  "Superscript": "Felső index",
-  "Justify Left": "Balra zárt",
-  "Justify Center": "Középre zárt",
-  "Justify Right": "Jobbra zárt",
-  "Justify Full": "Sorkizárt",
-  "Ordered List": "Számozott lista",
-  "Bulleted List": "Számozatlan lista",
-  "Decrease Indent": "Behúzás csökkentése",
-  "Increase Indent": "Behúzás növelése",
-  "Font Color": "Karakterszín",
-  "Background Color": "Háttérszín",
-  "Horizontal Rule": "Elválasztó vonal",
-  "Insert Web Link": "Hiperhivatkozás beszúrása",
-  "Insert/Modify Image": "Kép beszúrása",
-  "Insert Table": "Táblázat beszúrása",
-  "Toggle HTML Source": "HTML forrás be/ki",
-  "Enlarge Editor": "Szerkesztő külön ablakban",
-  "About this editor": "Névjegy",
-  "Help using editor": "Súgó",
-  "Current style": "Aktuális stílus",
-  "Undoes your last action": "Visszavonás",
-  "Redoes your last action": "Újra végrehajtás",
-  "Cut selection": "Kivágás",
-  "Copy selection": "Másolás",
-  "Paste from clipboard": "Beillesztés",
-  "Direction left to right": "Irány balról jobbra",
-  "Direction right to left": "Irány jobbról balra",
-  "OK": "Rendben",
-  "Cancel": "Mégsem",
-  "Path": "Hierarchia",
-  "You are in TEXT MODE.  Use the [<>] button to switch back to WYSIWYG.": "Forrás mód. Visszaváltás [<>] gomb",
-  "The full screen mode is known to cause problems with Internet Explorer, due to browser bugs that we weren": "A teljesképrenyős szerkesztés hibát okozhat Internet Explorer használata esetén, ez a böngésző a hibája, amit nem tudunk kikerülni. Szemetet észlelhet a képrenyőn, illetve néhány funkció hiányozhat és/vagy véletlenszerűen lefagyhat a böngésző. Windows 9x operaciós futtatása esetén elég valószínű, hogy ",
-  "Cancel": "Mégsem",
-  "Insert/Modify Link": "Hivatkozás Beszúrása/Módosítása",
-  "New window (_blank)": "Új ablak (_blank)",
-  "None (use implicit)": "Nincs (use implicit)",
-  "Other": "Más",
-  "Same frame (_self)": "Ugyanabba a keretbe (_self)",
-  "Target:": "Cél:",
-  "Title (tooltip):": "Cím (tooltip):",
-  "Top frame (_top)": "Felső keret (_top)",
-  "URL:": "URL:",
-  "You must enter the URL where this link points to": "Be kell írnia az URL-t, ahova a hivatkozás mutasson"
-}
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/lang/it.js b/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/lang/it.js
deleted file mode 100644
index 1c92f23..0000000
--- a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/lang/it.js
+++ /dev/null
@@ -1,55 +0,0 @@
-// I18N constants
-
-// LANG: "it", ENCODING: UTF-8
-// Author: Mattia Landoni, http://www.webpresident.org/
-
-{
-  "Bold": "Grassetto",
-  "Italic": "Corsivo",
-  "Underline": "Sottolineato",
-  "Strikethrough": "Barrato",
-  "Subscript": "Pedice",
-  "Superscript": "Apice",
-  "Justify Left": "Sinistra",
-  "Justify Center": "Centrato",
-  "Justify Right": "Destra",
-  "Justify Full": "Giustificato",
-  "Ordered List": "Lista numerata",
-  "Bulleted List": "Lista non numerata",
-  "Decrease Indent": "Diminuisci indentazione",
-  "Increase Indent": "Aumenta indentazione",
-  "Font Color": "Colore font",
-  "Background Color": "Colore sfondo",
-  "Horizontal Rule": "Righello orizzontale",
-  "Insert Web Link": "Inserisci link",
-  "Insert/Modify Image": "Inserisci/modifica Immagine",
-  "Insert Table": "Inserisci tabella",
-  "Toggle HTML Source": "Visualizza/nascondi sorgente HTML",
-  "Enlarge Editor": "Allarga editor",
-  "About this editor": "Informazioni su Xinha",
-  "Help using editor": "Aiuto",
-  "Current style": "Stile corrente",
-  "Undoes your last action": "Annulla ultima azione",
-  "Redoes your last action": "Ripeti ultima azione",
-  "Cut selection": "Taglia",
-  "Copy selection": "Copia",
-  "Paste from clipboard": "Incolla",
-  "Direction left to right": "Testo da sx a dx",
-  "Direction right to left": "Testo da dx a sx",
-  "OK": "OK",
-  "Cancel": "Annulla",
-  "Path": "Percorso",
-  "You are in TEXT MODE.  Use the [<>] button to switch back to WYSIWYG.": "Sei in MODALITA",
-  "The full screen mode is known to cause problems with Internet Explorer, due to browser bugs that we weren": "E",
-  "Cancel": "Annulla",
-  "Insert/Modify Link": "Inserisci/modifica link",
-  "New window (_blank)": "Nuova finestra (_blank)",
-  "None (use implicit)": "Niente (usa implicito)",
-  "Other": "Altro",
-  "Same frame (_self)": "Stessa frame (_self)",
-  "Target:": "Target:",
-  "Title (tooltip):": "Title (suggerimento):",
-  "Top frame (_top)": "Pagina intera (_top)",
-  "URL:": "URL:",
-  "You must enter the URL where this link points to": "Devi inserire l'indirizzo a cui punta il link"
-}
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/lang/ja.js b/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/lang/ja.js
deleted file mode 100644
index 3c068f9..0000000
--- a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/lang/ja.js
+++ /dev/null
@@ -1,175 +0,0 @@
-// I18N constants
-// LANG: "ja", ENCODING: UTF-8N
-
-{
-  "Bold": "太字",
-  "Italic": "斜体",
-  "Underline": "下線",
-  "Strikethrough": "打ち消し線",
-  "Subscript": "下付き添え字",
-  "Superscript": "上付き添え字",
-  "Justify Left": "左寄せ",
-  "Justify Center": "中央寄せ",
-  "Justify Right": "右寄せ",
-  "Justify Full": "均等割付",
-  "Ordered List": "番号付き箇条書き",
-  "Bulleted List": "記号付き箇条書き",
-  "Decrease Indent": "インデント解除",
-  "Increase Indent": "インデント設定",
-  "Font Color": "文字色",
-  "Background Color": "背景色",
-  "Horizontal Rule": "水平線",
-  "Insert Web Link": "リンクの挿入",
-  "Insert/Modify Image": "画像の挿入/修正",
-  "Insert Table": "テーブルを挿入",
-  "Toggle HTML Source": "HTML編集モードを切替",
-  "Enlarge Editor": "エディタを最大化",
-  "About this editor": "バージョン情報",
-  "Help using editor": "ヘルプ",
-  "Current style": "現在のスタイル",
-  "Undoes your last action": "元に戻す",
-  "Redoes your last action": "やり直し",
-  "Cut selection": "切り取り",
-  "Copy selection": "コピー",
-  "Paste from clipboard": "貼り付け",
-  "Direction left to right": "左から右へ",
-  "Direction right to left": "右から左へ",
-  "Remove formatting": "書式削除",
-  "Select all": "すべて選択",
-  "Print document": "印刷",
-  "Clear MSOffice tags": "MSOfficeタグをクリア",
-  "Clear Inline Font Specifications": "インラインフォント指定をクリア",
-  "Would you like to clear font typefaces?": "フォント名をクリアしますか?",
-  "Would you like to clear font sizes?": "サイズをクリアしますか?",
-  "Would you like to clear font colours?": "色をクリアしますか?",
-  "Split Block": "領域分割",
-  "Toggle Borders": "境界線の切替",
-  "Save as": "名前をつけて保存",
-  "Insert/Overwrite": "挿入/上書き",
-  "&#8212; format &#8212;": "&#8212; 書式 &#8212;",
-  "Heading 1": "見出し1",
-  "Heading 2": "見出し2",
-  "Heading 3": "見出し3",
-  "Heading 4": "見出し4",
-  "Heading 5": "見出し5",
-  "Heading 6": "見出し6",
-  "Normal": "標準",
-  "Address": "アドレス",
-  "Formatted": "整形済み",
-  "&#8212; font &#8212;": "&#8212; フォント &#8212;",
-  "&#8212; size &#8212;": "&#8212; サイズ &#8212;",
-  
-  //dialogs
-  "OK": "OK",
-  "Cancel": "中止",
-  "Path": "パス",
-  "You are in TEXT MODE.  Use the [<>] button to switch back to WYSIWYG.": "テキストモードで操作しています。WYSIWYG編集に戻るには[<>]ボタンを使ってください。",
-  "The Paste button does not work in Mozilla based web browsers (technical security reasons). Press CTRL-V on your keyboard to paste directly.": "MozillaベースのWebブラウザでは、貼り付けボタンは機能しません(技術的なセキュリティ上の理由で)。Ctrl+Vキーを押して直接貼り付けてください。",
-  "Your Document is not well formed. Check JavaScript console for details.": "この文書には構文的な問題があります。詳細はJavaScriptコンソールを参照してください。",
-  "You need to select some text before creating a link": "リンクを作成するにはテキストを選択する必要があります",
-
-  "Alignment:": "行揃え:",
-  "Not set": "なし",
-  "Left": "左",
-  "Right": "右",
-  "Texttop": "テキスト上部",
-  "Absmiddle": "中央(絶対的)",
-  "Baseline": "ベースライン",
-  "Absbottom": "下(絶対的)",
-  "Bottom": "下",
-  "Middle": "中央",
-  "Top": "上",
-
-  "Layout": "レイアウト",
-  "Spacing": "間隔",
-  "Horizontal:": "水平:",
-  "Horizontal padding": "水平余白",
-  "Vertical:": "垂直:",
-  "Vertical padding": "垂直余白",
-  "Border thickness:": "境界線の太さ:",
-  "Leave empty for no border": "境界線がない場合は空のままにする",
-
-  //Insert Link
-  "Insert/Modify Link": "リンクの挿入/修正",
-  "None (use implicit)": "なし (デフォルトに任せる)",
-  "New window (_blank)": "新しいウィンドウ (_blank)",
-  "Same frame (_self)": "自己フレーム内 (_self)",
-  "Top frame (_top)": "最上位フレーム (_top)",
-  "Other": "その他",
-  "Target:": "ターゲット:",
-  "Title (tooltip):": "タイトル:",
-  "URL:": "URL:",
-  "You must enter the URL where this link points to": "このリンクが指し示すURLを入力してください",
-
-  // Insert Table
-  "Insert Table": "テーブルの挿入",
-  "Rows:": "行:",
-  "Number of rows": "行数",
-  "Cols:": "列:",
-  "Number of columns": "列数",
-  "Width:": "幅:",
-  "Width of the table": "テーブルの幅",
-  "Percent": "パーセント(%)",
-  "Pixels": "ピクセル(px)",
-  "Em": "相対値(em)",
-  "Width unit": "幅の単位",
-  "Fixed width columns": "列の幅を固定",
-  "Positioning of this table": "このテーブルの配置",
-  "Cell spacing:": "セル間隔:",
-  "Space between adjacent cells": "隣接するセル間の距離",
-  "Cell padding:": "セル余白:",
-  "Space between content and border in cell": "セル内における内容と境界線との距離",
-  "You must enter a number of rows": "行数を入力してください",
-  "You must enter a number of columns": "列数を入力してください",
-
-  // Insert Image
-  "Insert Image": "画像の挿入",
-  "Image URL:": "画像URL:",
-  "Enter the image URL here": "画像のURLをここに入力します",
-  "Preview": "表示",
-  "Preview the image in a new window": "ウィンドウで画像を表示",
-  "Alternate text:": "代替テキスト:",
-  "For browsers that don't support images": "画像表示をサポートしないブラウザに必要です",
-  "Positioning of this image": "画像の配置",
-  "Image Preview:": "画像表示:",
-  "You must enter the URL": "URLを入力する必要があります",
-
-  //"button_bold": "fr/bold.gif",
-  //"button_underline": "fr/underline.gif",
-  //"button_strikethrough": "fr/strikethrough.gif",
-
-  // Editor Help
-  "Xinha Help": "ヘルプ",
-  "Editor Help": "エディタのヘルプ",
-  "Keyboard shortcuts": "キーボードショートカット",
-  "The editor provides the following key combinations:": "エディタは以下のキー操作を提供しています:",
-  "ENTER": "ENTER",
-  "new paragraph": "新規段落",
-  "SHIFT-ENTER": "SHIFT+ENTER",
-  "insert linebreak": "段落内改行の挿入",
-  "Set format to paragraph": "段落書式の設定",
-  "Clean content pasted from Word": "Wordから貼り付けられた内容の清書",
-  "Headings": "見出し",
-  "Close": "閉じる",
-
-  // Loading messages
-  "Loading in progress. Please wait!": "ロード中です。しばらくお待ちください",
-  "Loading plugin $plugin" : "ロード中プラグイン $plugin",
-  "Register plugin $plugin" : "登録中プラグイン $plugin", 
-  "Constructing object": "オブジェクト構築中",
-  "Generate Xinha framework": "Xinhaフレームワーク生成中",
-  "Init editor size":"エディタサイズの初期化", 
-  "Create Toolbar": "ツールバーの作成",
-  "Create Statusbar" : "ステータスバーの作成",
-  "Register right panel" : "登録 右パネル", 
-  "Register left panel" : "登録 左パネル", 
-  "Register bottom panel" : "登録 下パネル", 
-  "Register top panel" : "登録 上パネル", 
-  "Finishing" : "完了",
-  
-  // ColorPicker
-  "Click a color..." : "色をクリック...",
-  "Sample" : "サンプル",
-  "Web Safe: " : "Webセーフ: ",
-  "Color: " : "色: "  
-};
\ No newline at end of file
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/lang/lt.js b/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/lang/lt.js
deleted file mode 100644
index ea34009..0000000
--- a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/lang/lt.js
+++ /dev/null
@@ -1,53 +0,0 @@
-// I18N constants
-
-// LANG: "lt", ENCODING: UTF-8
-// Author: Jaroslav Šatkevič, <jaro@akl.lt>
-
-{
-  "Bold": "Paryškinti",
-  "Italic": "Kursyvas",
-  "Underline": "Pabraukti",
-  "Strikethrough": "Perbraukti",
-  "Subscript": "Apatinis indeksas",
-  "Superscript": "Viršutinis indeksas",
-  "Justify Left": "Lygiavimas pagal kairę",
-  "Justify Center": "Lygiavimas pagal centrą",
-  "Justify Right": "Lygiavimas pagal dešinę",
-  "Justify Full": "Lygiuoti pastraipą",
-  "Ordered List": "Numeruotas sąrašas",
-  "Bulleted List": "Suženklintas sąrašas",
-  "Decrease Indent": "Sumažinti paraštę",
-  "Increase Indent": "Padidinti paraštę",
-  "Font Color": "Šrifto spalva",
-  "Background Color": "Fono spalva",
-  "Horizontal Rule": "Horizontali linija",
-  "Insert Web Link": "Įterpti nuorodą",
-  "Insert/Modify Image": "Įterpti paveiksliuką",
-  "Insert Table": "Įterpti lentelę",
-  "Toggle HTML Source": "Perjungti į HTML/WYSIWYG",
-  "Enlarge Editor": "Išplėstas redagavimo ekranas/Enlarge Editor",
-  "About this editor": "Apie redaktorių",
-  "Help using editor": "Pagalba naudojant redaktorių",
-  "Current style": "Dabartinis stilius",
-  "Undoes your last action": "Atšaukia paskutini jūsų veiksmą",
-  "Redoes your last action": "Pakartoja paskutinį atšauktą jūsų veiksmą",
-  "Cut selection": "Iškirpti",
-  "Copy selection": "Kopijuoti",
-  "Paste from clipboard": "Įterpti",
-  "OK": "OK",
-  "Cancel": "Atšaukti",
-  "Path": "Kelias",
-  "You are in TEXT MODE.  Use the [<>] button to switch back to WYSIWYG.": "Jūs esete teksto režime.  Naudokite [<>] mygtuką grįžimui į WYSIWYG.",
-  "The full screen mode is known to cause problems with Internet Explorer, due to browser bugs that we weren": "The full screen mode is known to cause problems with Internet Explorer, due to browser bugs that we weren",
-  "Cancel": "Atšaukti",
-  "Insert/Modify Link": "Idėti/Modifikuoti",
-  "New window (_blank)": "Naujas langas (_blank)",
-  "None (use implicit)": "None (use implicit)",
-  "Other": "Kitas",
-  "Same frame (_self)": "Same frame (_self)",
-  "Target:": "Target:",
-  "Title (tooltip):": "Pavadinimas (tooltip):",
-  "Top frame (_top)": "Top frame (_top)",
-  "URL:": "URL:",
-  "You must enter the URL where this link points to": "Jus privalote nurodyti URL į kuri rodo šitą nuoroda"
-}
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/lang/lv.js b/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/lang/lv.js
deleted file mode 100644
index 840b4e7..0000000
--- a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/lang/lv.js
+++ /dev/null
@@ -1,42 +0,0 @@
-// I18N constants
-
-// LANG: "lv", ENCODING: UTF-8
-// Author: Mihai Bazon, http://dynarch.com/mishoo
-// Translated by: Janis Klavins, <janis.klavins@devia.lv>
-
-{
-  "Bold": "Trekniem burtiem",
-  "Italic": "Kursîvâ",
-  "Underline": "Pasvîtrots",
-  "Strikethrough": "Pârsvîtrots",
-  "Subscript": "Novietot zem rindas",
-  "Superscript": "Novietot virs rindas",
-  "Justify Left": "Izlîdzinât pa kreisi",
-  "Justify Center": "Izlîdzinât centrâ",
-  "Justify Right": "Izlîdzinât pa labi",
-  "Justify Full": "Izlîdzinât pa visu lapu",
-  "Ordered List": "Numurçts saraksts",
-  "Bulleted List": "Saraksts",
-  "Decrease Indent": "Samazinât atkâpi",
-  "Increase Indent": "Palielinât atkâpi",
-  "Font Color": "Burtu krâsa",
-  "Background Color": "Fona krâsa",
-  "Horizontal Rule": "Horizontâla atdalîtâjsvîtra",
-  "Insert Web Link": "Ievietot hipersaiti",
-  "Insert/Modify Image": "Ievietot attçlu",
-  "Insert Table": "Ievietot tabulu",
-  "Toggle HTML Source": "Skatît HTML kodu",
-  "Enlarge Editor": "Palielinât Rediìçtâju",
-  "About this editor": "Par ðo rediìçtâju",
-  "Help using editor": "Rediìçtâja palîgs",
-  "Current style": "Patreizçjais stils",
-  "Undoes your last action": "Atcelt pçdçjo darbîbu",
-  "Redoes your last action": "Atkârtot pçdçjo darbîbu",
-  "Cut selection": "Izgriezt iezîmçto",
-  "Copy selection": "Kopçt iezîmçto",
-  "Paste from clipboard": "Ievietot iezîmçto",
-  "OK": "Labi",
-  "Cancel": "Atcelt",
-  "Path": "Ceïð",
-  "You are in TEXT MODE.  Use the [<>] button to switch back to WYSIWYG.": "Jûs patlaban darbojaties TEKSTA REÞÎMÂ. Lai pârietu atpakaï uz GRAFISKO REÞÎMU (WYSIWIG), lietojiet [<>] pogu."
-}
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/lang/nb.js b/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/lang/nb.js
deleted file mode 100644
index 0694379..0000000
--- a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/lang/nb.js
+++ /dev/null
@@ -1,78 +0,0 @@
-// I18N constants
-
-// LANG: "nb", ENCODING: UTF-8
-
-// - translated by ses<ses@online.no>
-// Additional translations by Håvard Wigtil <havardw@extend.no>
-// Additional translations by Kim Steinhaug <kim@steinhaug.com>
-
-{
-  "Bold": "Fet",
-  "Italic": "Kursiv",
-  "Underline": "Understreket",
-  "Strikethrough": "Gjennomstreket",
-  "Subscript": "Nedsenket",
-  "Superscript": "Opphøyet",
-  "Justify Left": "Venstrejuster",
-  "Justify Center": "Midtjuster",
-  "Justify Right": "Høyrejuster",
-  "Justify Full": "Blokkjuster",
-  "Ordered List": "Nummerert liste",
-  "Bulleted List": "Punktliste",
-  "Decrease Indent": "Reduser innrykk",
-  "Increase Indent": "Øke innrykk",
-  "Font Color": "Tekstfarge",
-  "Background Color": "Bakgrundsfarge",
-  "Horizontal Rule": "Vannrett linje",
-  "Insert Web Link": "Lag lenke",
-  "Insert/Modify Image": "Sett inn bilde",
-  "Insert Table": "Sett inn tabell",
-  "Toggle HTML Source": "Vis kildekode",
-  "Enlarge Editor": "Vis i eget vindu",
-  "About this editor": "Om denne editor",
-  "Help using editor": "Hjelp",
-  "Current style": "Nåværende stil",
-  "Undoes your last action": "Angrer siste redigering",
-  "Redoes your last action": "Gjør om siste angring",
-  "Cut selection": "Klipp ut område",
-  "Copy selection": "Kopier område",
-  "Save as": "Lagre som",
-  "Paste from clipboard": "Lim inn",
-  "Remove formatting": "Fjern formattering",
-  "Direction left to right": "Fra venstre mot høyre",
-  "Direction right to left": "Fra høyre mot venstre",
-  "Insert/Overwrite": "Sett inn/Overskriv",
-  "OK": "OK",
-  "Cancel": "Avbryt",
-  "Path": "Tekstvelger",
-  "You are in TEXT MODE.  Use the [<>] button to switch back to WYSIWYG.": "Du er i tekstmodus  Klikk på [<>] for å gå tilbake til WYSIWIG.",
-  "The full screen mode is known to cause problems with Internet Explorer, due to browser bugs that we weren": "Visning i eget vindu har kjente problemer med Internet Explorer, på grunn av problemer med denne nettleseren. Mulige problemer er et uryddig skjermbilde, manglende editorfunksjoner og/eller at nettleseren crasher. Hvis du bruker Windows 95 eller Windows 98 er det også muligheter for at Windows will crashe.\n\nTrykk ",
-  "Cancel": "Avbryt",
-  "Insert/Modify Link": "Rediger lenke",
-  "New window (_blank)": "Eget vindu (_blank)",
-  "None (use implicit)": "Ingen (bruk standardinnstilling)",
-  "Other": "Annen",
-  "Same frame (_self)": "Samme ramme (_self)",
-  "Target:": "Mål:",
-  "Title (tooltip):": "Tittel (tooltip):",
-  "Top frame (_top)": "Toppramme (_top)",
-  "URL:": "Adresse:",
-  "You must enter the URL where this link points to": "Du må skrive inn en adresse som denne lenken skal peke til",
-  "Clear Inline Font Specifications": "Fjerne inline font spesifikasjoner",
-  "Would you like to clear font typefaces?": "Ønsker du å fjerne skrifttyper",
-  "Would you like to clear font sizes?": "Ønsker du å fjerne skrift størrelser",
-  "Would you like to clear font colours?": "Ønsker du å fjerne farger på skriften",
-  "Print document": "Skriv ut dokumentet",
-  "Split Block": "Seperasjonsblokk",
-  "Toggle Borders": "Skru av/på hjelpelinjer på tabeller",
-  "Select all": "Merk alt",
-  // Loading messages
-  "Loading in progress. Please wait !": "WYSIWYG laster, vennligst vent!",
-  "Constructing main object": "Vennligst vent",
-  "Create Toolbar": "Lag verktøylinje",
-  "Register panel right": "Registrer høyrepanel",
-  "Register panel left": "Registrer venstrepanel",
-  "Register panel top": "Registrer toppanel",
-  "Register panel bottom": "Registrer bunnpanel"
-
-};
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/lang/nl.js b/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/lang/nl.js
deleted file mode 100644
index 13042ca..0000000
--- a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/lang/nl.js
+++ /dev/null
@@ -1,64 +0,0 @@
-// I18N constants
-
-// LANG: "nl", ENCODING: UTF-8
-// Author: Michel Weegeerink (info@mmc-shop.nl), http://mmc-shop.nl
-
-// FOR TRANSLATORS:
-//
-//   1. PLEASE PUT YOUR CONTACT INFO IN THE ABOVE LINE
-//      (at least a valid email address)
-//
-//   2. PLEASE TRY TO USE UTF-8 FOR ENCODING;
-//      (if this is not possible, please include a comment
-//       that states what encoding is necessary.)
-
-{
-  "Bold": "Vet",
-  "Italic": "Cursief",
-  "Underline": "Onderstrepen",
-  "Strikethrough": "Doorhalen",
-  "Subscript": "Subscript",
-  "Superscript": "Superscript",
-  "Justify Left": "Links uitlijnen",
-  "Justify Center": "Centreren",
-  "Justify Right": "Rechts uitlijnen",
-  "Justify Full": "Uitvullen",
-  "Ordered List": "Nummering",
-  "Bulleted List": "Opsommingstekens",
-  "Decrease Indent": "Inspringing verkleinen",
-  "Increase Indent": "Inspringing vergroten",
-  "Font Color": "Tekstkleur",
-  "Background Color": "Achtergrondkleur",
-  "Horizontal Rule": "Horizontale lijn",
-  "Insert Web Link": "Hyperlink invoegen/aanpassen",
-  "Insert/Modify Image": "Afbeelding invoegen/aanpassen",
-  "Insert Table": "Tabel invoegen",
-  "Toggle HTML Source": "HTML broncode",
-  "Enlarge Editor": "Vergroot Editor",
-  "About this editor": "Over deze editor",
-  "Help using editor": "Xinha help",
-  "Current style": "Huidige stijl",
-  "Undoes your last action": "Ongedaan maken",
-  "Redoes your last action": "Herhalen",
-  "Cut selection": "Knippen",
-  "Copy selection": "Kopi?ren",
-  "Paste from clipboard": "Plakken",
-  "Direction left to right": "Tekstrichting links naar rechts",
-  "Direction right to left": "Tekstrichting rechts naar links",
-  "OK": "OK",
-  "Cancel": "Annuleren",
-  "Path": "Pad",
-  "You are in TEXT MODE.  Use the [<>] button to switch back to WYSIWYG.": "Je bent in TEKST-mode. Gebruik de [<>] knop om terug te keren naar WYSIWYG-mode.",
-  "The full screen mode is known to cause problems with Internet Explorer, due to browser bugs that we weren": "Fullscreen-mode veroorzaakt problemen met Internet Explorer door bugs in de webbrowser die we niet kunnen omzeilen. Hierdoor kunnen de volgende effecten optreden: verknoeide teksten, een verlies aan editor-functionaliteit en/of willekeurig vastlopen van de webbrowser. Als u Windows 95 of 98 gebruikt, is het zeer waarschijnlijk dat u een algemene beschermingsfout (",
-  "Cancel": "Annuleren",
-  "Insert/Modify Link": "Hyperlink invoegen/aanpassen",
-  "New window (_blank)": "Nieuw venster (_blank)",
-  "None (use implicit)": "Geen",
-  "Other": "Ander",
-  "Same frame (_self)": "Zelfde frame (_self)",
-  "Target:": "Doel:",
-  "Title (tooltip):": "Titel (tooltip):",
-  "Top frame (_top)": "Bovenste frame (_top)",
-  "URL:": "URL:",
-  "You must enter the URL where this link points to": "Geef de URL in waar de link naar verwijst"
-}
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/lang/pl.js b/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/lang/pl.js
deleted file mode 100644
index edf1699..0000000
--- a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/lang/pl.js
+++ /dev/null
@@ -1,125 +0,0 @@
-// I18N constants
-// LANG: "pl", ENCODING: UTF-8
-// translated: Krzysztof Kotowicz, http://www.eskot.krakow.pl/portfolio/, koto@webworkers.pl
-{
-  "Bold": "Pogrubienie",
-  "Italic": "Pochylenie",
-  "Underline": "Podkreślenie",
-  "Strikethrough": "Przekreślenie",
-  "Subscript": "Indeks dolny",
-  "Superscript": "Indeks górny",
-  "Justify Left": "Wyrównaj do lewej",
-  "Justify Center": "Wyśrodkuj",
-  "Justify Right": "Wyrównaj do prawej",
-  "Justify Full": "Wyjustuj",
-  "Ordered List": "Numerowanie",
-  "Bulleted List": "Wypunktowanie",
-  "Decrease Indent": "Zmniejsz wcięcie",
-  "Increase Indent": "Zwiększ wcięcie",
-  "Font Color": "Kolor czcionki",
-  "Background Color": "Kolor tła",
-  "Horizontal Rule": "Linia pozioma",
-  "Insert Web Link": "Wstaw adres sieci Web",
-  "Insert/Modify Image": "Wstaw obraz",
-  "Insert Table": "Wstaw tabelę",
-  "Toggle HTML Source": "Edycja WYSIWYG/w źródle strony",
-  "Enlarge Editor": "Pełny ekran",
-  "About this editor": "Informacje o tym edytorze",
-  "Help using editor": "Pomoc",
-  "Current style": "Obecny styl",
-  "Undoes your last action": "Cofa ostatnio wykonane polecenie",
-  "Redoes your last action": "Ponawia ostatnio wykonane polecenie",
-  "Cut selection": "Wycina zaznaczenie do schowka",
-  "Copy selection": "Kopiuje zaznaczenie do schowka",
-  "Paste from clipboard": "Wkleja zawartość schowka",
-  "Direction left to right": "Kierunek tekstu lewo-prawo",
-  "Direction right to left": "Kierunek tekstu prawo-lewo",
-  "Remove formatting": "Usuń formatowanie",
-  "Select all": "Zaznacz wszystko",
-  "Print document": "Drukuj dokument",
-  "Clear MSOffice tags": "Wyczyść tagi MSOffice",
-  "Clear Inline Font Specifications": "Wycisz bezpośrednie przypisania czcionek",
-  "Split Block": "Podziel blok",
-  "Toggle Borders": "Włącz / wyłącz ramki",
-
-  "&#8212; format &#8212;": "&#8212; Format &#8212;",
-  "Heading 1": "Nagłówek 1",
-  "Heading 2": "Nagłówek 2",
-  "Heading 3": "Nagłówek 3",
-  "Heading 4": "Nagłówek 4",
-  "Heading 5": "Nagłówek 5",
-  "Heading 6": "Nagłówek 6",
-  "Normal": "Normalny",
-  "Address": "Adres",
-  "Formatted": "Preformatowany",
-
-  //dialogs
-  "OK": "OK",
-  "Cancel": "Anuluj",
-  "Path": "Ścieżka",
-  "You are in TEXT MODE.  Use the [<>] button to switch back to WYSIWYG.": "Jesteś w TRYBIE TEKSTOWYM. Użyj przycisku [<>], aby przełączyć się na tryb WYSIWYG.",
-  "The Paste button does not work in Mozilla based web browsers (technical security reasons). Press CTRL-V on your keyboard to paste directly.": "Przycisk Wklej nie działa w przeglądarkach Mozilla z uwagi na ustawienia bezpieczeństwa. Naciśnij CRTL-V, aby wkleić zawartość schowka.",
-
-  "Alignment:": "Wyrównanie:",
-  "Not set": "Nie ustawione",
-  "Left": "Do lewej",
-  "Right": "Do prawej",
-  "Texttop": "Góra tekstu",
-  "Absmiddle": "Abs. środek",
-  "Baseline": "Linia bazowa",
-  "Absbottom": "Abs. dół",
-  "Bottom": "Dół",
-  "Middle": "Środek",
-  "Top": "Góra",
-
-  "Layout": "Layout",
-  "Spacing": "Spacjowanie",
-  "Horizontal:": "Poziome:",
-  "Horizontal padding": "Wcięcie poziome",
-  "Vertical:": "Pionowe:",
-  "Vertical padding": "Wcięcie pionowe",
-  "Border thickness:": "Grubość obramowania:",
-  "Leave empty for no border": "Bez ramek - zostaw puste",
-
-  //Insert Link
-  "Insert/Modify Link": "Wstaw/edytuj odnośnik",
-  "None (use implicit)": "Brak",
-  "New window (_blank)": "Nowe okno (_blank)",
-  "Same frame (_self)": "Ta sama ramka (_self)",
-  "Top frame (_top)": "Główna ramka (_top)",
-  "Other": "Inne",
-  "Target:": "Okno docelowe:",
-  "Title (tooltip):": "Tytuł (tooltip):",
-  "URL:": "URL:",
-  "You must enter the URL where this link points to": "Musisz podać URL, na jaki będzie wskazywał odnośnik",
-
-  // Insert Table
-  "Insert Table": "Wstaw tabelę",
-  "Rows:": "Wierszy:",
-  "Number of rows": "Liczba wierszy",
-  "Cols:": "Kolumn:",
-  "Number of columns": "Liczba kolumn",
-  "Width:": "Szerokość:",
-  "Width of the table": "Szerokość tabeli",
-  "Percent": "Procent",
-  "Pixels": "Pikseli",
-  "Em": "Em",
-  "Width unit": "Jednostka",
-  "Fixed width columns": "Kolumny o stałej szerokości",
-  "Positioning of this table": "Pozycjonowanie tabeli",
-  "Cell spacing:": "Odstęp komórek:",
-  "Space between adjacent cells": "Przestrzeń pomiędzy komórkami",
-  "Cell padding:": "Wcięcie komórek:",
-  "Space between content and border in cell": "Przestrzeń między krawędzią a zawartością komórki",
-
-  // Insert Image
-  "Insert Image": "Wstaw obrazek",
-  "Image URL:": "URL obrazka:",
-  "Enter the image URL here": "Podaj URL obrazka",
-  "Preview": "Podgląd",
-  "Preview the image in a new window": "Podgląd obrazka w nowym oknie",
-  "Alternate text:": "Tekst alternatywny:",
-  "For browsers that don't support images": "Dla przeglądarek, które nie obsługują obrazków",
-  "Positioning of this image": "Pozycjonowanie obrazka",
-  "Image Preview:": "Podgląd obrazka:"
-}
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/lang/pt_br.js b/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/lang/pt_br.js
deleted file mode 100644
index 729873f..0000000
--- a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/lang/pt_br.js
+++ /dev/null
@@ -1,184 +0,0 @@
-// I18N constants
-//
-// LANG: "pt_br", ENCODING: UTF-8
-// Portuguese Brazilian Translation
-//
-// Initial basic work by Alex Piaz <webmaster@globalmap.com>
-//
-// Author: Marcio Barbosa, <marcio@mpg.com.br>
-// MSN: tomarshall@msn.com - ICQ: 69419933
-// Site: http://www.mpg.com.br
-//
-// Last revision: 06 september 2007
-// Please don´t remove this information
-// If you modify any source, please insert a comment with your name and e-mail
-//
-// Distributed under the same terms as HTMLArea itself.
-// This notice MUST stay intact for use (see license.txt)
-{
-  "About": "Sobre",
-  "About Xinha": "Sobre o Xinha",
-  "Absbottom": "Inferior absoluto",
-  "Absmiddle": "Meio absoluto",
-  "Alignment:": "Alinhamento",
-  "Alternate text:": "Texto alternativo",
-  "Baseline": "Linha base",
-  "Bold": "Negrito",
-  "Border thickness:": "Espessura da borda",
-  "Bottom": "Botão",
-  "CTRL-0 (zero)": "CTRL-0 (zero)",
-  "CTRL-1 .. CTRL-6": "CTRL-1 .. CTRL-6",
-  "CTRL-A": "CTRL-A",
-  "CTRL-B": "CTRL-B",
-  "CTRL-C": "CTRL-C",
-  "CTRL-E": "CTRL-E",
-  "CTRL-I": "CTRL-I",
-  "CTRL-J": "CTRL-J",
-  "CTRL-L": "CTRL-L",
-  "CTRL-N": "CTRL-N",
-  "CTRL-R": "CTRL-R",
-  "CTRL-S": "CTRL-S",
-  "CTRL-U": "CTRL-U",
-  "CTRL-V": "CTRL-V",
-  "CTRL-X": "CTRL-X",
-  "CTRL-Y": "CTRL-Y",
-  "CTRL-Z": "CTRL-Z",
-  "Cancel": "Cancelar",
-  "Cell padding:": "Espaçamento interno da célula:",
-  "Cell spacing:": "Espaçamento da célula:",
-  "Clean content pasted from Word": "Limpar conteúdo copiado do Word",
-  "Close": "Fechar",
-  "Collapse borders:": "Bordas fechadas:",
-  "Cols:": "Colunas:",
-  "Constructing object": "Construindo objeto",
-  "Copy selection": "Copiar seleção",
-  "Create Statusbar": "Criar barra de informação (statusbar)",
-  "Create Toolbar": "Criar Barra de Ferramentas",
-  "Current style": "Estilo Atual",
-  "Cut selection": "Recortar seleção",
-  "Developer": "Desenvolvedor",
-  "ENTER": "ENTRAR",
-  "Editor Help": "Ajuda do Editor",
-  "Em": "Em",
-  "Enter the image URL here": "Entre aqui com a URL da imagem",
-  "Finishing": "Terminando",
-  "Fixed width columns": "Colunas com largura fixa",
-  "For browsers that don't support images": "Para navegadores que não suportam imagens",
-  "Generate Xinha framework": "Gerar Área de Trabalho do Xinha",
-  "Headings": "Títulos",
-  "Horizontal padding": "Espaçamento interno horizontal",
-  "Horizontal:": "Horizontal:",
-  "Image Preview:": "Visualização da Imagem:",
-  "Image URL:": "URL da imagem:",
-  "Init editor size": "Iniciar tamanho do editor",
-  "Insert Image": "Inserir Imagem",
-  "Insert Table": "Inserir Tabela",
-  "Insert/Modify Link": "Inserir/Modificar Link",
-  "Italic": "Itálico",
-  "Justify Center": "Justificar Centralizado",
-  "Justify Full": "Justificar Completamente",
-  "Justify Left": "Justificar à Esquerda",
-  "Justify Right": "Justificar à Direita",
-  "Keyboard shortcuts": "Atalhos de Teclado",
-  "Layout": "Esquema",
-  "Leave empty for no border": "Deixe em branco para não ter bordas",
-  "Left": "Esquerda",
-  "License": "Licença",
-  "Loading in progress. Please wait!": "Carregamento em processo. Por favor, aguarde!",
-  "Middle": "Meio",
-  "Name": "Nome",
-  "New window (_blank)": "Nova janela (_blank)",
-  "None (use implicit)": "Nenhum (uso implicito)",
-  "Not set": "Não definido",
-  "Number of columns": "Número de colunas",
-  "Number of rows": "Número de linhas",
-  "OK": "OK",
-  "Paste from clipboard": "Colar da Área de Transferência",
-  "Path": "Caminho",
-  "Percent": "Porcentagem",
-  "Pixels": "Pixels",
-  "Plugins": "Plugins",
-  "Positioning of this image": "Posicionamento desta imagem",
-  "Positioning of this table": "Posicionamento desta tabela",
-  "Preview": "Visualização",
-  "Preview the image in a new window": "Visualizar a imagem em uma nova janela",
-  "Redoes your last action": "Refazer sua última ação",
-  "Right": "Direita",
-  "Rows:": "Linhas:",
-  "SHIFT-ENTER": "SHIFT-ENTER",
-  "Same frame (_self)": "Mesmo frame (_self)",
-  "Select Color": "Selecionar côr",
-  "Select all": "Selecionar tudo",
-  "Set format to paragraph": "Definir formato para o parágrafo",
-  "Space between adjacent cells": "Espaço entre células adjacentes",
-  "Space between content and border in cell": "Espaço entre conteúdo e borda na célula",
-  "Spacing": "Espaçamento",
-  "Sponsored by": "Patrocinado por",
-  "Strikethrough": "Tachado",
-  "Target:": "Destino:",
-  "Texttop": "Texto no topo",
-  "Thanks": "Agradecimentos",
-  "The Paste button does not work in Mozilla based web browsers (technical security reasons). Press CTRL-V on your keyboard to paste directly.": "O botão Colar não funciona em navegadores baseado no Mozilla (por razões técnicas de segurança). Pressione CTRL-V no seu teclado para colar diretamente.",
-  "The editor provides the following key combinations:": "Este editor fornece a seguinte combinação de teclas:",
-  "Title (tooltip):": "Título (tooltip)",
-  "Top": "Topo",
-  "Top frame (_top)": "Frame no topo (_top)",
-  "URL:": "URL:",
-  "Underline": "Sublinhado",
-  "Undoes your last action": "Desfazer sua última ação",
-  "Version": "Versão",
-  "Vertical padding": "Espaçamento interno vertical",
-  "Vertical:": "Vertical:",
-  "Width of the table": "Larguran da tabela",
-  "Width unit": "Unidade de largura",
-  "Width:": "Largura:",
-  "Would you like to clear font colours?": "Deseja limpar as cores de fonte",
-  "Would you like to clear font sizes?": "Deseja limpar os tamanhos de fonte",
-  "Would you like to clear font typefaces?": "Deseja limpar os tipos de fonte",
-  "Xinha Help": "Ajuda do Xinha",
-  "You are in TEXT MODE.  Use the [<>] button to switch back to WYSIWYG.": "Você está no MODO TEXTO.  Use o botão [<>] para mudar para o modo de Visualização (WYSIWYG)",
-  "Your Document is not well formed. Check JavaScript console for details.": "Seu Documento não está formatado corretamente. Verifique o console do JavaScript para maiores detalhes.",
-  "insert linebreak": "inserir quebra de linha",
-  "new paragraph": "novo parágrafo",
-  
-  // not find with lc_parse_strings.php
-  "Subscript": "Subescrito",
-  "Superscript": "Sobrescrito",
-  "Direction left to right": "Da esquerda para direita",
-  "Direction right to left": "Da direita para esquerda",
-  "Remove formatting": "Remover formatação",
-  "Select all": "Selecionar tudo",
-  "Print document": "Imprimir documento",
-  "Clear MSOffice tags": "Limpar tags do MS Office",
-  "Clear Inline Font Specifications": "Limpar especificações de fontes inline",
-  "Split Block": "Dividir Bloco",
-  "Toggle Borders": "Mudar Bordas",
-  "Save as": "Salvar como",
-  "Insert/Overwrite": "Inserir/Sobrescrever",
-  "&#8212; format &#8212;": "&#8212; formato &#8212;",
-  "Heading 1": "Título 1",
-  "Heading 2": "Título 2",
-  "Heading 3": "Título 3",
-  "Heading 4": "Título 4",
-  "Heading 5": "Título 5",
-  "Heading 6": "Título 6",
-  "Normal": "Normal",
-  "Address": "Endereço",
-  "Formatted": "Formatado",
-  "&#8212; font &#8212;": "&#8212; fonte &#8212;",
-  "&#8212; size &#8212;": "&#8212; tamanho &#8212;",
-  "Ordered List": "Lista Numerada",
-  "Bulleted List": "Lista Marcadores",
-  "Decrease Indent": "Diminuir Indentação",
-  "Increase Indent": "Aumentar Indentação",
-  "Font Color": "Cor da Fonte",
-  "Background Color": "Cor do Fundo",
-  "Horizontal Rule": "Linha Horizontal",
-  "Insert Web Link": "Inserir Link",
-  "Insert/Modify Image": "Inserir/Modificar Imagem",
-  "Insert Table": "Inserir Tabela",
-  "Toggle HTML Source": "Ver Código-Fonte",
-  "Enlarge Editor": "Expandir Editor",
-  "About this editor": "Sobre este editor",
-  "Help using editor": "Ajuda - Usando o editor"
-}
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/lang/ro.js b/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/lang/ro.js
deleted file mode 100644
index e622932..0000000
--- a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/lang/ro.js
+++ /dev/null
@@ -1,63 +0,0 @@
-// I18N constants
-
-// LANG: "ro", ENCODING: UTF-8
-// Author: Mihai Bazon, http://dynarch.com/mishoo
-
-// FOR TRANSLATORS:
-//
-//   1. PLEASE PUT YOUR CONTACT INFO IN THE ABOVE LINE
-//      (at least a valid email address)
-//
-//   2. PLEASE TRY TO USE UTF-8 FOR ENCODING;
-//      (if this is not possible, please include a comment
-//       that states what encoding is necessary.)
-
-{
-  "Bold": "Îngroşat",
-  "Italic": "Italic",
-  "Underline": "Subliniat",
-  "Strikethrough": "Tăiat",
-  "Subscript": "Indice jos",
-  "Superscript": "Indice sus",
-  "Justify Left": "Aliniere la stânga",
-  "Justify Center": "Aliniere pe centru",
-  "Justify Right": "Aliniere la dreapta",
-  "Justify Full": "Aliniere în ambele părţi",
-  "Ordered List": "Listă ordonată",
-  "Bulleted List": "Listă marcată",
-  "Decrease Indent": "Micşorează alineatul",
-  "Increase Indent": "Măreşte alineatul",
-  "Font Color": "Culoarea textului",
-  "Background Color": "Culoare de fundal",
-  "Horizontal Rule": "Linie orizontală",
-  "Insert Web Link": "Inserează/modifică link",
-  "Insert/Modify Image": "Inserează/modifică imagine",
-  "Insert Table": "Inserează un tabel",
-  "Toggle HTML Source": "Sursa HTML / WYSIWYG",
-  "Enlarge Editor": "Maximizează editorul",
-  "About this editor": "Despre editor",
-  "Help using editor": "Documentaţie (devel)",
-  "Current style": "Stilul curent",
-  "Undoes your last action": "Anulează ultima acţiune",
-  "Redoes your last action": "Reface ultima acţiune anulată",
-  "Cut selection": "Taie în clipboard",
-  "Copy selection": "Copie în clipboard",
-  "Paste from clipboard": "Aduce din clipboard",
-  "Direction left to right": "Direcţia de scriere: stânga - dreapta",
-  "Direction right to left": "Direcţia de scriere: dreapta - stânga",
-  "OK": "OK",
-  "Cancel": "Anulează",
-  "Path": "Calea",
-  "You are in TEXT MODE.  Use the [<>] button to switch back to WYSIWYG.": "Eşti în modul TEXT.  Apasă butonul [<>] pentru a te întoarce în modul WYSIWYG.",
-  "Cancel": "Renunţă",
-  "Insert/Modify Link": "Inserează/modifcă link",
-  "New window (_blank)": "Fereastră nouă (_blank)",
-  "None (use implicit)": "Nimic (foloseşte ce-i implicit)",
-  "Other": "Alt target",
-  "Same frame (_self)": "Aceeaşi fereastră (_self)",
-  "Target:": "Ţinta:",
-  "Title (tooltip):": "Titlul (tooltip):",
-  "Top frame (_top)": "Fereastra principală (_top)",
-  "URL:": "URL:",
-  "You must enter the URL where this link points to": "Trebuie să introduceţi un URL"
-}
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/lang/ru.js b/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/lang/ru.js
deleted file mode 100644
index 92394c2..0000000
--- a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/lang/ru.js
+++ /dev/null
@@ -1,185 +0,0 @@
-// I18N constants
-
-// LANG: "ru", ENCODING: UTF-8
-// Author: Yulya Shtyryakova, <yulya@vdcom.ru>
-
-// Some additions by: Alexey Kirpichnikov, <alexkir@kiwistudio.ru>
-// I took French version as a source of English phrases because French version was the most comprehensive
-// (fr.js was the largest file, actually) %)
-
-// FOR TRANSLATORS:
-//
-//   1. PLEASE PUT YOUR CONTACT INFO IN THE ABOVE LINE
-//      (at least a valid email address)
-//
-//   2. PLEASE TRY TO USE UTF-8 FOR ENCODING;
-//      (if this is not possible, please include a comment
-//       that states what encoding is necessary.)
-
-{
-  "Bold": "Полужирный",
-  "Italic": "Наклонный",
-  "Underline": "Подчеркнутый",
-  "Strikethrough": "Перечеркнутый",
-  "Subscript": "Нижний индекс",
-  "Superscript": "Верхний индекс",
-  "Justify Left": "По левому краю",
-  "Justify Center": "По центру",
-  "Justify Right": "По правому краю",
-  "Justify Full": "По ширине",
-  "Ordered List": "Нумерованный список",
-  "Bulleted List": "Маркированный список",
-  "Decrease Indent": "Уменьшить отступ",
-  "Increase Indent": "Увеличить отступ",
-  "Font Color": "Цвет шрифта",
-  "Background Color": "Цвет фона",
-  "Horizontal Rule": "Горизонтальный разделитель",
-  "Insert Web Link": "Вставить гиперссылку",
-  "Insert/Modify Image": "Вставить изображение",
-  "Insert Table": "Вставить таблицу",
-  "Toggle HTML Source": "Показать Html-код",
-  "Enlarge Editor": "Увеличить редактор",
-  "About this editor": "О редакторе",
-  "Help using editor": "Помощь",
-  "Current style": "Текущий стиль",
-  "Undoes your last action": "Отменить",
-  "Redoes your last action": "Повторить",
-  "Cut selection": "Вырезать",
-  "Copy selection": "Копировать",
-  "Paste from clipboard": "Вставить",
-  "Direction left to right": "Направление слева направо",
-  "Direction right to left": "Направление справа налево",
-  "Remove formatting": "Убрать форматирование",
-  "Select all": "Выделить все",
-  "Print document": "Печать",
-  "Clear MSOffice tags": "Удалить разметку MSOffice",
-  "Clear Inline Font Specifications": "Удалить непосредственное задание шрифтов",
-  "Would you like to clear font typefaces?": "Удалить типы шрифтов?",
-  "Would you like to clear font sizes?": "Удалить размеры шрифтов ?",
-  "Would you like to clear font colours?": "Удалить цвета шрифтов ?",
-  "Split Block": "Разделить блок",
-  "Toggle Borders": "Включить/выключить отображение границ",
-  "Save as": "Сохранить как",
-  "Insert/Overwrite": "Вставка/замена",
-  "&#8212; format &#8212;": "&#8212; форматирование &#8212;",
-  "Heading 1": "Заголовок 1",
-  "Heading 2": "Заголовок 2",
-  "Heading 3": "Заголовок 3",
-  "Heading 4": "Заголовок 4",
-  "Heading 5": "Заголовок 5",
-  "Heading 6": "Заголовок 6",
-  "Normal": "Обычный текст",
-  "Address": "Адрес",
-  "Formatted": "Отформатированный текст",
-
-  "&#8212; font &#8212;": "&#8212; шрифт &#8212;",
-  "&#8212; size &#8212;": "&#8212; размер &#8212;",
-
-
-// Диалоги
-
-  "OK": "OK",
-  "Cancel": "Отмена",
-  "Path": "Путь",
-  "You are in TEXT MODE.  Use the [<>] button to switch back to WYSIWYG.": "Вы в режиме отображения Html-кода. нажмите кнопку [<>], чтобы переключиться в визуальный режим.",
-
-"The Paste button does not work in Mozilla based web browsers (technical security reasons). Press CTRL-V on your keyboard to paste directly.": "Кнопка Вставить не работает в браузерах на основе Mozilla (по техническим причинам, связанным с безопасностью). Нажмите Ctrl-V на клавиатуре, чтобы вставить.",
-
-  "Your Document is not well formed. Check JavaScript console for details.": "Ваш документ неправильно сформирован. Посмотрите Консоль JavaScript, чтобы узнать подробности.",
-
-  "Alignment:": "Выравнивание",
-  "Not set": "Не установлено",
-  "Left": "По левому краю",
-  "Right": "По правому краю",
-  "Texttop": "По верхней границе текста",
-  "Absmiddle": "По середине текста",
-  "Baseline": "По нижней границе текста",
-  "Absbottom": "По нижней границе",
-  "Bottom": "По нижнему краю",
-  "Middle": "Посредине",
-  "Top": "По верхнему краю",
-
-  "Layout": "Расположение",
-  "Spacing": "Поля",
-  "Horizontal:": "По горизонтали",
-  "Horizontal padding": "Горизонтальные поля",
-  "Vertical:": "По вертикали",
-  "Vertical padding": "Вертикальные поля",
-  "Border thickness:": "Толщина рамки",
-  "Leave empty for no border": "Оставьте пустым, чтобы убрать рамку",
-
-  //Insert Link
-  "Insert/Modify Link": "Вставка/изменение ссылки",
-  "None (use implicit)": "По умолчанию",
-  "New window (_blank)": "Новое окно (_blank)",
-  "Same frame (_self)": "То же окно (_self)",
-  "Top frame (_top)": "Родительское окно (_top)",
-  "Other": "Другое",
-  "Target:": "Открывать в окне:",
-  "Title (tooltip):": "Всплывающая подсказка",
-  "URL:": "URL:",
-  "You must enter the URL where this link points to": "Вы должны указать URL, на который будет указывать ссылка",
-  "You need to select some text before creating a link": "Вы должны выделить текст, который будет преобразован в ссылку",
-
-  // Insert Table
-  "Insert Table": "Вставка таблицы",
-  "Rows:": "Строки",
-  "Number of rows": "Количество строк",
-  "Cols:": "Столбцы",
-  "Number of columns": "Количество столбцов",
-  "Width:": "Ширина",
-  "Width of the table": "Ширина таблицы",
-  "Percent": "проценты",
-  "Pixels": "пикселы",
-  "Em": "em",
-  "Width unit": "Единицы измерения",
-  "Fixed width columns": "Столбцы фиксированной ширины",
-  "Positioning of this table": "Расположение таблицы",
-  "Cell spacing:": "Расстояние между ячейками",
-  "Space between adjacent cells": "Расстояние между соседними ячейками",
-  "Cell padding:": "Поля в ячейках",
-  "Space between content and border in cell": "Расстояние между границей ячейки и текстом",
-  "You must enter a number of rows": "Вы должны ввести количество строк",
-  "You must enter a number of columns": "Вы должны ввести количество столбцов",
-
-  // Insert Image
-  "Insert Image": "Вставка изображения",
-  "Image URL:": "URL изображения",
-  "Enter the image URL here": "Вставьте адрес изображения",
-  "Preview": "Предварительный просмотр",
-  "Preview the image in a new window": "Предварительный просмотр в отдельном окне",
-  "Alternate text:": "Альтернативный текст",
-  "For browsers that don't support images": "Для браузеров, которые не отображают картинки",
-  "Positioning of this image": "Расположение изображения",
-  "Image Preview:": "Предварительный просмотр",
-  "You must enter the URL": "Вы должны ввести URL",
-
-  // Editor Help
-  "Xinha Help": "Помощь",
-  "Editor Help": "Помощь",
-  "Keyboard shortcuts": "Горячие клавиши",
-  "The editor provides the following key combinations:": "Редактор поддерживает следующие комбинации клавиш:",
-  "ENTER": "ENTER",
-  "new paragraph": "новый абзац",
-  "SHIFT-ENTER": "SHIFT+ENTER",
-  "insert linebreak": "перенос строки",
-  "Set format to paragraph": "Отформатировать абзац",
-  "Clean content pasted from Word": "Очистить текст, вставленный из Word",
-  "Headings": "Заголовки",
-  "Close": "Закрыть",
-
-  // Loading messages
-  "Loading in progress. Please wait !": "Загрузка... Пожалуйста, подождите.",
-  "Constructing main object": "Создание главного объекта",
-  "Constructing object": "Создание объекта",
-  "Register panel right": "Регистрация правой панели",
-  "Register panel left": "Регистрация левой панели",
-  "Register panel top": "Регистрация верхней панели",
-  "Register panel bottom": "Регистрация нижней панели",
-  "Create Toolbar": "Создание панели инструментов",
-  "Create StatusBar": "Создание панели состояния",
-  "Generate Xinha object": "Создание объекта Xinha",
-  "Init editor size": "Инициализация размера редактора",
-  "Init IFrame": "инициализация iframe",
-  "Register plugin $plugin": "Регистрация $plugin"
-};
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/lang/sh.js b/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/lang/sh.js
deleted file mode 100644
index b56a0df..0000000
--- a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/lang/sh.js
+++ /dev/null
@@ -1,140 +0,0 @@
-// I18N constants
-
-// LANG: "sh", ENCODING: UTF-8 | ISO-8859-2
-// Author: Ljuba Ranković, http://www.rankovic.net/ljubar
-
-// FOR TRANSLATORS:
-//
-//   1. PLEASE PUT YOUR CONTACT INFO IN THE ABOVE LINE
-//      (at least a valid email address)
-//
-//   2. PLEASE TRY TO USE UTF-8 FOR ENCODING;
-//      (if this is not possible, please include a comment
-//       that states what encoding is necessary.)
-
-{
-		"Bold": "Masno",
-		"Italic": "Kurziv",
-		"Underline": "Podvučeno",
-		"Strikethrough": "Precrtano",
-		"Subscript": "Indeks-tekst",
-		"Superscript": "Eksponent-tekst",
-		"Justify Left":"Ravnanje ulevo",
-		"Justify Center": "Ravnanje po simetrali",
-		"Justify Right": "Ravnanje udesno",
-		"Justify Full": "Puno ravnanje",
-		"Ordered List": "Lista sa rednim brojevima",
-		"Bulleted List": "Lista sa simbolima",
-		"Decrease Indent": "smanji uvlačenje",
-		"Increase Indent": "Povećaj uvlačenje",
-		"Font Color": "Boja slova",
-		"Background Color": "Boja pozadine",
-		"Horizontal Rule": "Horizontalna linija",
-		"Insert Web Link": "Dodaj web link",
-		"Insert/Modify Image": "Dodaj/promeni sliku",
-		"Insert Table": "Ubaci tabelu",
-		"Toggle HTML Source": "Prebaci na HTML kod",
-		"Enlarge Editor": "Povećaj editor",
-		"About this editor": "O ovom editoru",
-		"Help using editor": "Pomoć pri korišćenju editora",
-		"Current style": "Važeći stil",
-		"Undoes your last action": "Poništava poslednju radnju",
-		"Redoes your last action": "Vraća poslednju radnju",
-		"Cut selection": "Iseci izabrano",
-		"Copy selection": "Kopiraj izabrano",
-		"Paste from clipboard": "Zalepi iz klipborda",
-		"Direction left to right": "Pravac s leva na desno",
-		"Direction right to left": "Pravac s desna na levo",
-        "Remove formatting": "Ukoni formatiranje",
-        "Select all": "Izaberi sve",
-        "Print document": "Štampaj dokument",
-        "Clear MSOffice tags": "Obriši MSOffice tagove",
-        "Clear Inline Font Specifications": "Obriši dodeljene osobine fonta",
-        "Split Block": "Podeli blok",
-        "Toggle Borders": "Izmeni okvire",
-
-        "&#8212; format &#8212;": "&#8212; Format &#8212;",
-        "Heading 1": "Zaglavlje 1",
-        "Heading 2": "Zaglavlje 2",
-        "Heading 3": "Zaglavlje 3",
-        "Heading 4": "Zaglavlje 4",
-        "Heading 5": "Zaglavlje 5",
-        "Heading 6": "Zaglavlje 6",
-        "Normal": "Običan",
-        "Address": "Adresa",
-        "Formatted": "Formatiran",
-        
-        // dialogs
-		"OK": "OK",
-		"Cancel": "Poništi",
-		"Path": "Putanja",
-		"You are in TEXT MODE.  Use the [<>] button to switch back to WYSIWYG.": "Nalazite se u TEXT režimu.  Koristite [<>] dugme za povratak na WYSIWYG.",
-
-		"The Paste button does not work in Mozilla based web browsers (technical security reasons). Press CTRL-V on your keyboard to paste directly.": "",
-
-        "Alignment:": "Ravnanje",
-        "Not set": "Nije postavljeno",
-        "Left": "Levo",
-        "Right": "Desno",
-        "Texttop": "Vrh teksta",
-        "Absmiddle": "Apsolutna sredina",
-        "Baseline": "Donja linija",
-        "Absbottom": "Apsolutno dno",
-        "Bottom": "Dno",
-        "Middle": "Sredina",
-        "Top": "Vrh",
-
-        "Layout": "Prelom",
-        "Spacing": "Razmak",
-        "Horizontal:": "Po horizontali",
-        "Horizontal padding": "Horizontalno odstojanje",
-        "Vertical:": "Po vertikali",
-        "Vertical padding": "Vertikalno odstojanje",
-        "Border thickness:": "Debljina okvira",
-        "Leave empty for no border": "Ostavi prazno kad nema okvira",
-		
-        // Insert Link
-		"Insert/Modify Link": "Dodaj/promeni Link",
-		"None (use implicit)": "koristi podrazumevano",
-		"New window (_blank)": "Novom prozoru (_blank)",
-		"Same frame (_self)": "Isti frejm (_self)",
-		"Top frame (_top)": "Glavni frejm (_top)",
-		"Other": "Drugo",
-		"Target:": "Otvori u:",
-		"Title (tooltip):": "Naziv (tooltip):",
-		"URL:": "URL:",
-		"You must enter the URL where this link points to": "Morate uneti URL na koji vodi ovaj link",
-		
-        // Insert Table
-        "Insert Table": "Ubaci tabelu",
-        "Rows:": "Redovi",
-        "Number of rows": "Broj redova",
-        "Cols:": "Kolone",
-        "Number of columns": "Broj kolona",
-        "Width:": "Širina",
-        "Width of the table": "Širina tabele",
-        "Percent": "Procenat",
-        "Pixels": "Pikseli",
-        "Em": "Em",
-        "Width unit": "Jedinica širine",
-        "Fixed width columns": "Fiksirana širina kolona",
-        "Positioning of this table": "Postavljanje ove tabele",
-        "Cell spacing:": "Rastojanje ćelija",
-        "Space between adjacent cells": "Rastojanje naspramnih ćelija",
-        "Cell padding:": "Unutrašnja odstojanja u ćeliji",
-        "Space between content and border in cell": "Rastojanje između sadržaja i okvira ćelije",
-
-        // Insert Image
-        "Insert Image": "Ubaci sliku",
-        "Image URL:": "URL slike",
-        "Enter the image URL here": "Unesite URL slike ovde",
-        "Preview": "Pregled",
-        "Preview the image in a new window": "Pregledaj sliku u novom prozoru",
-        "Alternate text:": "Alternativni tekst",
-        "For browsers that don't support images": "Za pretraživače koji ne podržavaju slike",
-        "Positioning of this image": "Postavljanje ove slike",
-        "Image Preview:": "Pregled slike",
-        
-        // Select Color popup
-		"Select Color": "Izaberite boju"
-};
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/lang/si.js b/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/lang/si.js
deleted file mode 100644
index c34abbe..0000000
--- a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/lang/si.js
+++ /dev/null
@@ -1,50 +0,0 @@
-// I18N constants
-
-// LANG: "si", ENCODING: UTF-8
-// Author: Tomaz Kregar, x_tomo_x@email.si
-
-// FOR TRANSLATORS:
-//
-//   1. PLEASE PUT YOUR CONTACT INFO IN THE ABOVE LINE
-//      (at least a valid email address)
-//
-//   2. PLEASE TRY TO USE UTF-8 FOR ENCODING;
-//      (if this is not possible, please include a comment
-//       that states what encoding is necessary.)
-
-{
-  "Bold": "Krepko",
-  "Italic": "Ležeče",
-  "Underline": "Podčrtano",
-  "Strikethrough": "Prečrtano",
-  "Subscript": "Podpisano",
-  "Superscript": "Nadpisano",
-  "Justify Left": "Poravnaj levo",
-  "Justify Center": "Na sredino",
-  "Justify Right": "Poravnaj desno",
-  "Justify Full": "Porazdeli vsebino",
-  "Ordered List": "Oštevilčevanje",
-  "Bulleted List": "Označevanje",
-  "Decrease Indent": "Zmanjšaj zamik",
-  "Increase Indent": "Povečaj zamik",
-  "Font Color": "Barva pisave",
-  "Background Color": "Barva ozadja",
-  "Horizontal Rule": "Vodoravna črta",
-  "Insert Web Link": "Vstavi hiperpovezavo",
-  "Insert/Modify Image": "Vstavi sliko",
-  "Insert Table": "Vstavi tabelo",
-  "Toggle HTML Source": "Preklopi na HTML kodo",
-  "Enlarge Editor": "Povečaj urejevalnik",
-  "About this editor": "Vizitka za urejevalnik",
-  "Help using editor": "Pomoč za urejevalnik",
-  "Current style": "Trenutni slog",
-  "Undoes your last action": "Razveljavi zadnjo akcijo",
-  "Redoes your last action": "Uveljavi zadnjo akcijo",
-  "Cut selection": "Izreži",
-  "Copy selection": "Kopiraj",
-  "Paste from clipboard": "Prilepi",
-  "OK": "V redu",
-  "Cancel": "Prekliči",
-  "Path": "Pot",
-  "You are in TEXT MODE.  Use the [<>] button to switch back to WYSIWYG.": "Si v tekstovnem načinu.  Uporabi [<>] gumb za prklop nazaj na WYSIWYG."
-}
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/lang/sr.js b/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/lang/sr.js
deleted file mode 100644
index 613dd7e..0000000
--- a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/lang/sr.js
+++ /dev/null
@@ -1,140 +0,0 @@
-// I18N constants
-
-// LANG: "sh", ENCODING: UTF-8 | ISO-8859-5
-// Author: Ljuba Ranković, http://www.rankovic.net/ljubar
-
-// FOR TRANSLATORS:
-//
-//   1. PLEASE PUT YOUR CONTACT INFO IN THE ABOVE LINE
-//      (at least a valid email address)
-//
-//   2. PLEASE TRY TO USE UTF-8 FOR ENCODING;
-//      (if this is not possible, please include a comment
-//       that states what encoding is necessary.)
-
-{
-		"Bold": "Масно",
-		"Italic": "Курзив",
-		"Underline": "Подвучено",
-		"Strikethrough": "Прецртано",
-		"Subscript": "Индекс-текст",
-		"Superscript": "Експонент-текст",
-		"Justify Left": "Равнање улево",
-		"Justify Center": "Равнање по симетрали",
-		"Justify Right": "Равнање удесно",
-		"Justify Full": "Пуно равнање",
-		"Ordered List": "Листа са редним бројевима",
-		"Bulleted List": "Листа са симболима",
-		"Decrease Indent": "Смањи увлачење",
-		"Increase Indent": "Повећај увлачење",
-		"Font Color": "Боја слова",
-		"Background Color": "Боја позадине",
-		"Horizontal Rule": "Хоризонтална линија",
-		"Insert Web Link": "додај веб линк",
-		"Insert/Modify Image": "додај/промени слику",
-		"Insert Table": "Убаци табелу",
-		"Toggle HTML Source": "Пребаци на приказ ХТМЛ кода",
-		"Enlarge Editor": "Повећај едитор",
-		"About this editor": "О овом едитору",
-		"Help using editor": "Помоћ при коришћењу едитора",
-		"Current style": "Важећи стил",
-		"Undoes your last action": "Поништава последњу радњу",
-		"Redoes your last action": "Враћа последњу радњу",
-		"Cut selection": "Исеци изабрано",
-		"Copy selection": "Копирај изабрано",
-		"Paste from clipboard": "Залепи из клипборда",
-		"Direction left to right": "Правац с лева на десно",
-		"Direction right to left": "Правац с десна на лево",
-        "Remove formatting": "Уклони форматирање",
-        "Select all": "Изабери све",
-        "Print document": "Штампај документ",
-        "Clear MSOffice tags": "Обриши MSOffice тагове",
-        "Clear Inline Font Specifications": "Обриши примењене особине фонта",
-        "Split Block": "Подели блок",
-        "Toggle Borders": "Пребаци оквирне линије",
-
-        "&#8212; format &#8212;": "&#8212; Format &#8212;",
-        "Heading 1": "Заглавље 1",
-        "Heading 2": "Заглавље 2",
-        "Heading 3": "Заглавље 3",
-        "Heading 4": "Заглавље 4",
-        "Heading 5": "Заглавље 5",
-        "Heading 6": "Заглавље 6",
-        "Normal": "обичан",
-        "Address": "адреса",
-        "Formatted": "форматиран",		
-		
-        // dialogs
-		"OK": "OK",
-		"Cancel": "Поништи",
-		"Path": "Путања",
-		"You are in TEXT MODE.  Use the [<>] button to switch back to WYSIWYG.":    "Налазите се у ТЕКСТ режиму.  Користите [<>] дугме за повратак на ШВТИД (WYSIWYG).",
-
-		"The Paste button does not work in Mozilla based web browsers (technical security reasons). Press CTRL-V on your keyboard to paste directly.": "Дугме 'залепи' не ради у претраживачима породице Mozilla (из разлога сигурности). Притисните CTRL-V на тастатури да директно залепите.",
-		
-        "Alignment:": "Равнање",
-        "Not set": "Није постављено",
-        "Left": "Лево",
-        "Right": "Десно",
-        "Texttop": "Врх текста",
-        "Absmiddle": "Апсолутна средина",
-        "Baseline": "Доња линија",
-        "Absbottom": "Апсолутно дно",
-        "Bottom": "Дно",
-        "Middle": "Средина",
-        "Top": "Врх",
-
-        "Layout": "Прелом",
-        "Spacing": "Размак",
-        "Horizontal:": "По хоризонтали",
-        "Horizontal padding": "Хортизонтално одстојање",
-        "Vertical:": "По вертикали",
-        "Vertical padding": "Вертикално одстојање",
-        "Border thickness:": "Дебљина оквира",
-        "Leave empty for no border": "Остави празно кад нема оквира",
-
-        // Insert Link
-		"Insert/Modify Link": "додај/промени линк",
-		"None (use implicit)": "користи подразумевано",
-		"New window (_blank)": "Новом прозору (_blank)",
-		"Same frame (_self)": "Исти фрејм (_self)",
-		"Top frame (_top)": "Главни фрејм (_top)",
-		"Other": "Друго",
-		"Target:": "Отвори у:",
-		"Title (tooltip):": "Назив (tooltip):",
-		"URL:": "УРЛ:",
-		"You must enter the URL where this link points to": "Морате унети УРЛ на који води овај линк",
-
-        // Insert Table
-        "Insert Table": "Убаци табелу",
-        "Rows:": "Редови",
-        "Number of rows": "Број редова",
-        "Cols:": "Колоне",
-        "Number of columns": "Број колона",
-        "Width:": "Ширина",
-        "Width of the table": "Ширина табеле",
-        "Percent": "Процената",
-        "Pixels": "Пиксела",
-        "Em": "Ем",
-        "Width unit": "Јединица ширине",
-        "Fixed width columns": "Фиксирана ширина колоне",
-        "Positioning of this table": "Постављање ове табеле",
-        "Cell spacing:": "Размак између ћелија",
-        "Space between adjacent cells": "Размак између наспрамних ћелија",
-        "Cell padding:": "Унутрашња одстојања од ивица ћелије",
-        "Space between content and border in cell": "Растојање између садржаја у ћелији и њеног оквира",
-
-        // Insert Image
-        "Insert Image": "Убаци слику",
-        "Image URL:": "УРЛ слике",
-        "Enter the image URL here": "Унесите УРЛ слике овде",
-        "Preview": "Преглед",
-        "Preview the image in a new window": "Прегледај слику у новом прозору",
-        "Alternate text:": "алтернативни текст",
-        "For browsers that don't support images": "За претраживаче који не подржавају слике",
-        "Positioning of this image": "Постављање ове слике",
-        "Image Preview:": "Преглед слике",
-
-        // Select Color popup
-		"Select Color": "Изабери боју"
-};
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/lang/sv.js b/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/lang/sv.js
deleted file mode 100644
index 61af49e..0000000
--- a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/lang/sv.js
+++ /dev/null
@@ -1,116 +0,0 @@
-// I18N constants
-// LANG: "sv", ENCODING: UTF-8
-
-// Swedish version for htmlArea v3.0
-// Initital translation by pat <pat@engvall.nu>
-// Synced with additional contants in rev. 477 (Mar 2006) by Thomas Loo <tloo@saltstorm.net>
-
-{
-  "Bold": "Fet",
-  "Italic": "Kursiv",
-  "Underline": "Understruken",
-  "Strikethrough": "Genomstruken",
-  "Subscript": "Nedsänkt",
-  "Superscript": "Upphöjd",
-  "Justify Left": "Vänsterjustera",
-  "Justify Center": "Centrera",
-  "Justify Right": "Högerjustera",
-  "Justify Full": "Marginaljustera",
-  "Ordered List": "Numrerad lista",
-  "Bulleted List": "Punktlista",
-  "Decrease Indent": "Minska indrag",
-  "Increase Indent": "Öka indrag",
-  "Font Color": "Textfärg",
-  "Background Color": "Bakgrundsfärg",
-  "Horizontal Rule": "Vågrät linje",
-  "Insert Web Link": "Infoga länk",
-  "Insert/Modify Image": "Infoga bild",
-  "Toggle HTML Source": "Visa källkod",
-  "Enlarge Editor": "Visa i eget fönster",
-  "About this editor": "Om denna editor",
-  "Help using editor": "Hjälp",
-  "Current style": "Nuvarande stil",
-
-  "Undoes your last action": "Ångra kommando",
-  "Redoes your last action": "Upprepa kommando",
-  "Select all": "Markera allt",
-  "Print document": "Skriv ut",
-  "Clear MSOffice tags": "Städa bort MS Office taggar",
-  "Clear Inline Font Specifications": "Rensa inbäddad typsnittsinformation",
-  "Remove formatting": "Rensa formattering",
-  "Toggle Borders": "Objektramar",
-  "Split Block": "Dela block",
-  "Direction left to right": "Vänster till höger",
-  "Direction right to left": "Höger till vänster",
-
-  "Insert/Overwrite": "Infoga/Skriv över",
-  "OK": "OK",
-  "Cancel": "Avbryt",
-  "Path": "Objekt",
-  "You are in TEXT MODE.  Use the [<>] button to switch back to WYSIWYG.": "Du befinner dig i texläge. Klicka på ikonen [<>] ovan för att växla tillbaka till WYSIWIG läge",
-  "The full screen mode is known to cause problems with Internet Explorer, due to browser bugs that we weren": "Visning i fullskärmsläga fungerar dåligt i din webläsare. Möjliga problem resulterar i en ryckig editor, saknade editorfunktioner och/eller att webläsaren kraschar. Om du använder Windows 95/98 finns också möjligheten att Windows kraschar.\n\nTryck ",
-  "The Paste button does not work in Mozilla based web browsers (technical security reasons). Press CTRL-V on your keyboard to paste directly.": "Denna knapp fungerar ej i Mozillabaserad webläsare, använd istället snabbtangenterna CTRL-V på tangentbordet för att klistra in.",
-
-  "Insert/Modify Link": "Redigera länk",
-  "New window (_blank)": "Nytt fönster (_blank)",
-  "None (use implicit)": "Ingen (använd standardinställing)",
-  "Other": "Annan",
-  "Same frame (_self)": "Samma ram (_self)",
-  "Target:": "Mål:",
-  "Title (tooltip):": "Titel (tooltip):",
-  "Top frame (_top)": "Toppram (_top)",
-  "URL:": "Sökväg:",
-  "You must enter the URL where this link points to": "Du måsta ange en adress till vilken länken skall peka på",
-  "Would you like to clear font typefaces?": "Radera alla typsnittsinformation ?",
-  "Would you like to clear font sizes?": "Radera alla fontstorlekar ?",
-  "Would you like to clear font colours?": "Ta bort all textfärger ?",
-
-  "You need to select some text before creating a link": "Du måsta markera ett objekt att applicera länken på!",
-
-  // Insert Table
-  "Insert Table": "Infoga tabell",
-  "Rows:": "Rader:",
-  "Number of rows": "Antal rader",
-  "Cols:": "Kolumner:",
-  "Number of columns": "Antal kolumner",
-  "Width:": "Bredd:",
-  "Width of the table": "Tabellbredd",
-  "Percent": "Procent",
-  "Pixels": "Pixlar",
-  "Em": "",
-  "Width unit": "Breddenheter",
-  "Fixed width columns": "Fixerad bredd",
-  "Alignment:": "Marginaljustering",
-  "Positioning of this table": "Tabellposition",
-  "Border thickness:": "Ramtjocklek",
-  "Leave empty for no border": "Lämna fältet tomt för att undvika ramar",
-  "Spacing": "Cellegenskaper",
-  "Cell spacing:": "Cellmarginaler:",
-  "Space between adjacent cells": "Utrymme mellan celler",
-  "Cell padding:": "Cellindrag:",
-  "Space between content and border in cell": "Utrymme mellan ram och cellinnehåll",
-  "You must enter a number of rows": "Ange ental rader",
-  "You must enter a number of columns": "Ange antal kolumner",
-
-  // Editor Help
-  "Keyboard shortcuts": "Snabbtangenter",
-  "The editor provides the following key combinations:": "Editorn nyttjar följande kombinationer:",
-  "new paragraph": "Ny paragraf ",
-  "insert linebreak": "Infoga radbrytning ",
-  "Set format to paragraph": "Aktivera paragrafläge",
-  "Clean content pasted from Word": "Rensa innehåll inklistrat från MS Word",
-  "Headings": "Skapa standardrubrik",
-  "Cut selection": "Klipp ut markering",
-  "Copy selection": "Kopiera  markering",
-  "Paste from clipboard": "Klistra in",
-  "Close": "Stäng",
-
-  // Loading messages
-  "Loading in progress. Please wait !": "Editorn laddas. Vänta...",
-  "Constructing main object": "Skapar huvudobjekt",
-  "Create Toolbar": "Skapar verktygspanel",
-  "Register panel right": "Registerar panel höger",
-  "Register panel left": "Registerar panel vänster",
-  "Register panel top": "Registerar toppanel",
-  "Register panel bottom": "Registerar fotpanel"
-}
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/lang/th.js b/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/lang/th.js
deleted file mode 100644
index 8a116af..0000000
--- a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/lang/th.js
+++ /dev/null
@@ -1,50 +0,0 @@
-// I18N constants

-

-// LANG: "th", ENCODING: UTF-8

-// Author: Suchin Prasongbundit, <suchin@joolsoft.com>

-

-// FOR TRANSLATORS:

-//

-//   1. PLEASE PUT YOUR CONTACT INFO IN THE ABOVE LINE

-//      (at least a valid email address)

-//

-//   2. PLEASE TRY TO USE UTF-8 FOR ENCODING;

-//      (if this is not possible, please include a comment

-//       that states what encoding is necessary.)

-

-{

-  "Bold": "ตัวหนา",

-  "Italic": "ตัวเอียง",

-  "Underline": "ขีดเส้นใต้",

-  "Strikethrough": "ขีดทับ",

-  "Subscript": "ตัวห้อย",

-  "Superscript": "ตัวยก",

-  "Justify Left": "จัดชิดซ้าย",

-  "Justify Center": "จัดกึ่งกลาง",

-  "Justify Right": "จัดชิดขวา",

-  "Justify Full": "จัดเต็มขอบ",

-  "Ordered List": "เลขลำดับ",

-  "Bulleted List": "ลำดับ",

-  "Decrease Indent": "ลดย่อหน้า",

-  "Increase Indent": "เพิ่มย่อหน้า",

-  "Font Color": "สีขอบแบบอักษร",

-  "Background Color": "สีพื้นหลัง",

-  "Horizontal Rule": "เส้นกึ่งกลาง",

-  "Insert Web Link": "ิเพิ่มลิ้งค์",

-  "Insert/Modify Image": "เพิ่ม/แก้ไขภาพ",

-  "Insert Table": "เพิ่มตาราง",

-  "Toggle HTML Source": "สลับการแสดงโค้ด HTML",

-  "Enlarge Editor": "ขยายให้เต็มจอ",

-  "About this editor": "เกี่ยวกับโปรแกรมนี้",

-  "Help using editor": "การใช้งานโปรแกรม",

-  "Current style": "รูปแบบปัจจุบัน",

-  "Undoes your last action": "ย้อนกลับ",

-  "Redoes your last action": "ทำซ้ำ",

-  "Cut selection": "ตัดส่วนที่เลือก",

-  "Copy selection": "สำเนาส่วนที่เลือก",

-  "Paste from clipboard": "วางจากคลิปบอร์ด",

-  "OK": "ตกลง",

-  "Cancel": "ยกเลิก",

-  "Path": "เส้นทาง",

-  "You are in TEXT MODE.  Use the [<>] button to switch back to WYSIWYG.": "คุณอยู่ในโหมดธรรมดา กดที่ปุ่ม [<>] เพื่อสลับกลับไปยังโหมดพิมพ์งานแบบเวิร์ด"

-}

diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/lang/vn.js b/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/lang/vn.js
deleted file mode 100644
index 0aa6416..0000000
--- a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/lang/vn.js
+++ /dev/null
@@ -1,56 +0,0 @@
-// I18N constants : Vietnamese
-// LANG: "en", ENCODING: UTF-8
-// Author: Nguyễn Đình Nam, <hncryptologist@yahoo.com>
-// Modified 21/07/2004 by Phạm Mai Quân <pmquan@4vn.org>
-
-{
-  "Bold": "Đậm",
-  "Italic": "Nghiêng",
-  "Underline": "Gạch Chân",
-  "Strikethrough": "Gạch Xóa",
-  "Subscript": "Viết Xuống Dưới",
-  "Superscript": "Viết Lên Trên",
-  "Justify Left": "Căn Trái",
-  "Justify Center": "Căn Giữa",
-  "Justify Right": "Căn Phải",
-  "Justify Full": "Căn Đều",
-  "Ordered List": "Danh Sách Có Thứ Tự (1, 2, 3)",
-  "Bulleted List": "Danh Sách Phi Thứ Tự (Chấm đầu dòng)",
-  "Decrease Indent": "Lùi Ra Ngoài",
-  "Increase Indent": "Thụt Vào Trong",
-  "Font Color": "Màu Chữ",
-  "Background Color": "Màu Nền",
-  "Horizontal Rule": "Dòng Kẻ Ngang",
-  "Insert Web Link": "Tạo Liên Kết",
-  "Insert/Modify Image": "Chèn Ảnh",
-  "Insert Table": "Chèn Bảng",
-  "Toggle HTML Source": "Chế Độ Mã HTML",
-  "Enlarge Editor": "Phóng To Ô Soạn Thảo",
-  "About this editor": "Tự Giới Thiệu",
-  "Help using editor": "Giúp Đỡ",
-  "Current style": "Định Dạng Hiện Thời",
-  "Undoes your last action": "Hủy thao tác trước",
-  "Redoes your last action": "Lấy lại thao tác vừa bỏ",
-  "Cut selection": "Cắt",
-  "Copy selection": "Sao chép",
-  "Paste from clipboard": "Dán",
-  "Direction left to right": "Viết từ trái sang phải",
-  "Direction right to left": "Viết từ phải sang trái",
-  "OK": "Đồng ý",
-  "Cancel": "Hủy",
-  "The full screen mode is known to cause problems with Internet Explorer, due to browser bugs that we weren": "Chế độ phóng to ô soạn thảo có thể gây lỗi với Internet Explorer vì một số lỗi của trình duyệt này, vì thế chế độ này có thể sẽ không chạy. Hiển thị không đúng, lộn xộn, không có đầy đủ chức năng, và cũng có thể làm trình duyệt của bạn bị tắt ngang. Nếu bạn đang sử dụng Windows 9x bạn có thể bị báo lỗi ",
-  "Path": "Đường Dẫn",
-  "You are in TEXT MODE.  Use the [<>] button to switch back to WYSIWYG.": "Bạn đang ở chế độ text.  Sử dụng nút [<>] để chuyển lại chế độ WYSIWIG.",
-  "Cancel": "Hủy",
-  "Insert/Modify Link": "Thêm/Chỉnh sửa đường dẫn",
-  "New window (_blank)": "Cửa sổ mới (_blank)",
-  "None (use implicit)": "Không (sử dụng implicit)",
-  "OK": "Đồng ý",
-  "Other": "Khác",
-  "Same frame (_self)": "Trên cùng khung (_self)",
-  "Target:": "Nơi hiện thị:",
-  "Title (tooltip):": "Tiêu đề (của hướng dẫn):",
-  "Top frame (_top)": "Khung trên cùng (_top)",
-  "URL:": "URL:",
-  "You must enter the URL where this link points to": "Bạn phải điền địa chỉ (URL) mà đường dẫn sẽ liên kết tới"
-}
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/ColorPicker/ColorPicker.js b/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/ColorPicker/ColorPicker.js
deleted file mode 100644
index dba2f6b..0000000
--- a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/ColorPicker/ColorPicker.js
+++ /dev/null
@@ -1,624 +0,0 @@
-/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */
-/* The URL of the most recent version of this file is http://svn.xinha.org/trunk/modules/ColorPicker/ColorPicker.js */
-ColorPicker._pluginInfo={name:"colorPicker",version:"$LastChangedRevision: 1237 $".replace(/^[^:]*:\s*(.*)\s*\$$/,"$1"),developer:"James Sleeman",developer_url:"http://www.gogo.co.nz/",c_owner:"Gogo Internet Services",license:"htmlArea",sponsor:"Gogo Internet Services",sponsor_url:"http://www.gogo.co.nz/"};
-function ColorPicker(){
-};
-try{
-if(window.opener&&window.opener.Xinha){
-var openerColorPicker=window.opener.Xinha.colorPicker;
-Xinha._addEvent(window,"unload",function(){
-Xinha.colorPicker=openerColorPicker;
-});
-}
-}
-catch(e){
-}
-Xinha.colorPicker=function(_1){
-if(Xinha.colorPicker.savedColors.length===0){
-Xinha.colorPicker.loadColors();
-}
-this.is_ie_6=(Xinha.is_ie&&Xinha.ie_version<7);
-var _2=this;
-var _3=false;
-var _4=false;
-var _5=0;
-var _6=0;
-this.callback=_1.callback?_1.callback:function(_7){
-alert("You picked "+_7);
-};
-this.websafe=_1.websafe?_1.websafe:false;
-this.savecolors=_1.savecolors?_1.savecolors:20;
-this.cellsize=parseInt(_1.cellsize?_1.cellsize:"10px",10);
-this.side=_1.granularity?_1.granularity:18;
-var _8=this.side+1;
-var _9=this.side-1;
-this.value=1;
-this.saved_cells=null;
-this.table=document.createElement("table");
-this.table.className="dialog";
-this.table.cellSpacing=this.table.cellPadding=0;
-this.table.onmouseup=function(){
-_3=false;
-_4=false;
-};
-this.tbody=document.createElement("tbody");
-this.table.appendChild(this.tbody);
-this.table.style.border="1px solid WindowFrame";
-this.table.style.zIndex="1050";
-var tr=document.createElement("tr");
-var td=document.createElement("td");
-td.colSpan=this.side;
-td.className="title";
-td.style.fontFamily="small-caption,caption,sans-serif";
-td.style.fontSize="x-small";
-td.unselectable="on";
-td.style.MozUserSelect="none";
-td.style.cursor="default";
-td.appendChild(document.createTextNode(Xinha._lc("Click a color...")));
-td.style.borderBottom="1px solid WindowFrame";
-tr.appendChild(td);
-td=null;
-var td=document.createElement("td");
-td.className="title";
-td.colSpan=2;
-td.style.fontFamily="Tahoma,Verdana,sans-serif";
-td.style.borderBottom="1px solid WindowFrame";
-td.style.paddingRight="0";
-tr.appendChild(td);
-var _c=document.createElement("div");
-_c.title=Xinha._lc("Close");
-_c.className="buttonColor";
-_c.style.height="11px";
-_c.style.width="11px";
-_c.style.cursor="pointer";
-_c.onclick=function(){
-_2.close();
-};
-_c.appendChild(document.createTextNode("×"));
-_c.align="center";
-_c.style.verticalAlign="top";
-_c.style.position="relative";
-_c.style.cssFloat="right";
-_c.style.styleFloat="right";
-_c.style.padding="0";
-_c.style.margin="2px";
-_c.style.backgroundColor="transparent";
-_c.style.fontSize="11px";
-if(!Xinha.is_ie){
-_c.style.lineHeight="9px";
-}
-_c.style.letterSpacing="0";
-td.appendChild(_c);
-this.tbody.appendChild(tr);
-_c=tr=td=null;
-this.constrain_cb=document.createElement("input");
-this.constrain_cb.type="checkbox";
-this.chosenColor=document.createElement("input");
-this.chosenColor.type="text";
-this.chosenColor.maxLength=7;
-this.chosenColor.style.width="50px";
-this.chosenColor.style.fontSize="11px";
-this.chosenColor.onchange=function(){
-if(/#[0-9a-f]{6,6}/i.test(this.value)){
-_2.backSample.style.backgroundColor=this.value;
-_2.foreSample.style.color=this.value;
-}
-};
-this.backSample=document.createElement("div");
-this.backSample.appendChild(document.createTextNode(" "));
-this.backSample.style.fontWeight="bold";
-this.backSample.style.fontFamily="small-caption,caption,sans-serif";
-this.backSample.fontSize="x-small";
-this.foreSample=document.createElement("div");
-this.foreSample.appendChild(document.createTextNode(Xinha._lc("Sample")));
-this.foreSample.style.fontWeight="bold";
-this.foreSample.style.fontFamily="small-caption,caption,sans-serif";
-this.foreSample.fontSize="x-small";
-function toHex(_d){
-var h=_d.toString(16);
-if(h.length<2){
-h="0"+h;
-}
-return h;
-};
-function tupleToColor(_f){
-return "#"+toHex(_f.red)+toHex(_f.green)+toHex(_f.blue);
-};
-function nearestPowerOf(num,_11){
-return Math.round(Math.round(num/_11)*_11);
-};
-function doubleHexDec(dec){
-return parseInt(dec.toString(16)+dec.toString(16),16);
-};
-function rgbToWebsafe(_13){
-_13.red=doubleHexDec(nearestPowerOf(parseInt(toHex(_13.red).charAt(0),16),3));
-_13.blue=doubleHexDec(nearestPowerOf(parseInt(toHex(_13.blue).charAt(0),16),3));
-_13.green=doubleHexDec(nearestPowerOf(parseInt(toHex(_13.green).charAt(0),16),3));
-return _13;
-};
-function hsvToRGB(h,s,v){
-var _17;
-if(s===0){
-_17={red:v,green:v,blue:v};
-}else{
-h/=60;
-var i=Math.floor(h);
-var f=h-i;
-var p=v*(1-s);
-var q=v*(1-s*f);
-var t=v*(1-s*(1-f));
-switch(i){
-case 0:
-_17={red:v,green:t,blue:p};
-break;
-case 1:
-_17={red:q,green:v,blue:p};
-break;
-case 2:
-_17={red:p,green:v,blue:t};
-break;
-case 3:
-_17={red:p,green:q,blue:v};
-break;
-case 4:
-_17={red:t,green:p,blue:v};
-break;
-default:
-_17={red:v,green:p,blue:q};
-break;
-}
-}
-_17.red=Math.ceil(_17.red*255);
-_17.green=Math.ceil(_17.green*255);
-_17.blue=Math.ceil(_17.blue*255);
-return _17;
-};
-var _1d=this;
-function closeOnBodyClick(ev){
-ev=ev?ev:window.event;
-el=ev.target?ev.target:ev.srcElement;
-do{
-if(el==_1d.table){
-return;
-}
-}while(el=el.parentNode);
-_1d.close();
-};
-this.open=function(_1f,_20,_21){
-this.table.style.display="";
-this.pick_color();
-if(_21&&/#[0-9a-f]{6,6}/i.test(_21)){
-this.chosenColor.value=_21;
-this.backSample.style.backgroundColor=_21;
-this.foreSample.style.color=_21;
-}
-Xinha._addEvent(document.body,"mousedown",closeOnBodyClick);
-this.table.style.position="absolute";
-var e=_20;
-var top=0;
-var _24=0;
-do{
-if(e.style.position=="fixed"){
-this.table.style.position="fixed";
-}
-top+=e.offsetTop-e.scrollTop;
-_24+=e.offsetLeft-e.scrollLeft;
-e=e.offsetParent;
-}while(e);
-var x,y;
-if(/top/.test(_1f)||(top+this.table.offsetHeight>document.body.offsetHeight)){
-if(top-this.table.offsetHeight>0){
-this.table.style.top=(top-this.table.offsetHeight)+"px";
-}else{
-this.table.style.top=0;
-}
-}else{
-this.table.style.top=(top+_20.offsetHeight)+"px";
-}
-if(/left/.test(_1f)||(_24+this.table.offsetWidth>document.body.offsetWidth)){
-if(_24-(this.table.offsetWidth-_20.offsetWidth)>0){
-this.table.style.left=(_24-(this.table.offsetWidth-_20.offsetWidth))+"px";
-}else{
-this.table.style.left=0;
-}
-}else{
-this.table.style.left=_24+"px";
-}
-if(this.is_ie_6){
-this.iframe.style.top=this.table.style.top;
-this.iframe.style.left=this.table.style.left;
-}
-};
-function pickCell(_27){
-_2.chosenColor.value=_27.colorCode;
-_2.backSample.style.backgroundColor=_27.colorCode;
-_2.foreSample.style.color=_27.colorCode;
-if((_27.hue>=195&&_27.saturation>0.5)||(_27.hue===0&&_27.saturation===0&&_27.value<0.5)||(_27.hue!==0&&_2.value<0.75)){
-_27.style.borderColor="#fff";
-}else{
-_27.style.borderColor="#000";
-}
-_5=_27.thisrow;
-_6=_27.thiscol;
-};
-function pickValue(_28){
-if(_2.value<0.5){
-_28.style.borderColor="#fff";
-}else{
-_28.style.borderColor="#000";
-}
-_9=_28.thisrow;
-_8=_28.thiscol;
-_2.chosenColor.value=_2.saved_cells[_5][_6].colorCode;
-_2.backSample.style.backgroundColor=_2.saved_cells[_5][_6].colorCode;
-_2.foreSample.style.color=_2.saved_cells[_5][_6].colorCode;
-};
-function unpickCell(row,col){
-_2.saved_cells[row][col].style.borderColor=_2.saved_cells[row][col].colorCode;
-};
-this.pick_color=function(){
-var _2b,_2c;
-var _2d=this;
-var _2e=359/(this.side);
-var _2f=1/(this.side-1);
-var _30=1/(this.side-1);
-var _31=this.constrain_cb.checked;
-if(this.saved_cells===null){
-this.saved_cells=[];
-for(var row=0;row<this.side;row++){
-var tr=document.createElement("tr");
-this.saved_cells[row]=[];
-for(var col=0;col<this.side;col++){
-var td=document.createElement("td");
-if(_31){
-td.colorCode=tupleToColor(rgbToWebsafe(hsvToRGB(_2e*row,_2f*col,this.value)));
-}else{
-td.colorCode=tupleToColor(hsvToRGB(_2e*row,_2f*col,this.value));
-}
-this.saved_cells[row][col]=td;
-td.style.height=this.cellsize+"px";
-td.style.width=this.cellsize-2+"px";
-td.style.borderWidth="1px";
-td.style.borderStyle="solid";
-td.style.borderColor=td.colorCode;
-td.style.backgroundColor=td.colorCode;
-if(row==_5&&col==_6){
-td.style.borderColor="#000";
-this.chosenColor.value=td.colorCode;
-this.backSample.style.backgroundColor=td.colorCode;
-this.foreSample.style.color=td.colorCode;
-}
-td.hue=_2e*row;
-td.saturation=_2f*col;
-td.thisrow=row;
-td.thiscol=col;
-td.onmousedown=function(){
-_3=true;
-_2d.saved_cells[_5][_6].style.borderColor=_2d.saved_cells[_5][_6].colorCode;
-pickCell(this);
-};
-td.onmouseover=function(){
-if(_3){
-pickCell(this);
-}
-};
-td.onmouseout=function(){
-if(_3){
-this.style.borderColor=this.colorCode;
-}
-};
-td.ondblclick=function(){
-Xinha.colorPicker.remember(this.colorCode,_2d.savecolors);
-_2d.callback(this.colorCode);
-_2d.close();
-};
-td.appendChild(document.createTextNode(" "));
-td.style.cursor="pointer";
-tr.appendChild(td);
-td=null;
-}
-var td=document.createElement("td");
-td.appendChild(document.createTextNode(" "));
-td.style.width=this.cellsize+"px";
-tr.appendChild(td);
-td=null;
-var td=document.createElement("td");
-this.saved_cells[row][col+1]=td;
-td.appendChild(document.createTextNode(" "));
-td.style.width=this.cellsize-2+"px";
-td.style.height=this.cellsize+"px";
-td.constrainedColorCode=tupleToColor(rgbToWebsafe(hsvToRGB(0,0,_30*row)));
-td.style.backgroundColor=td.colorCode=tupleToColor(hsvToRGB(0,0,_30*row));
-td.style.borderWidth="1px";
-td.style.borderStyle="solid";
-td.style.borderColor=td.colorCode;
-if(row==_9){
-td.style.borderColor="black";
-}
-td.hue=_2e*row;
-td.saturation=_2f*col;
-td.hsv_value=_30*row;
-td.thisrow=row;
-td.thiscol=col+1;
-td.onmousedown=function(){
-_4=true;
-_2d.saved_cells[_9][_8].style.borderColor=_2d.saved_cells[_9][_8].colorCode;
-_2d.value=this.hsv_value;
-_2d.pick_color();
-pickValue(this);
-};
-td.onmouseover=function(){
-if(_4){
-_2d.value=this.hsv_value;
-_2d.pick_color();
-pickValue(this);
-}
-};
-td.onmouseout=function(){
-if(_4){
-this.style.borderColor=this.colorCode;
-}
-};
-td.style.cursor="pointer";
-tr.appendChild(td);
-td=null;
-this.tbody.appendChild(tr);
-tr=null;
-}
-var tr=document.createElement("tr");
-this.saved_cells[row]=[];
-for(var col=0;col<this.side;col++){
-var td=document.createElement("td");
-if(_31){
-td.colorCode=tupleToColor(rgbToWebsafe(hsvToRGB(0,0,_30*(this.side-col-1))));
-}else{
-td.colorCode=tupleToColor(hsvToRGB(0,0,_30*(this.side-col-1)));
-}
-this.saved_cells[row][col]=td;
-td.style.height=this.cellsize+"px";
-td.style.width=this.cellsize-2+"px";
-td.style.borderWidth="1px";
-td.style.borderStyle="solid";
-td.style.borderColor=td.colorCode;
-td.style.backgroundColor=td.colorCode;
-td.hue=0;
-td.saturation=0;
-td.value=_30*(this.side-col-1);
-td.thisrow=row;
-td.thiscol=col;
-td.onmousedown=function(){
-_3=true;
-_2d.saved_cells[_5][_6].style.borderColor=_2d.saved_cells[_5][_6].colorCode;
-pickCell(this);
-};
-td.onmouseover=function(){
-if(_3){
-pickCell(this);
-}
-};
-td.onmouseout=function(){
-if(_3){
-this.style.borderColor=this.colorCode;
-}
-};
-td.ondblclick=function(){
-Xinha.colorPicker.remember(this.colorCode,_2d.savecolors);
-_2d.callback(this.colorCode);
-_2d.close();
-};
-td.appendChild(document.createTextNode(" "));
-td.style.cursor="pointer";
-tr.appendChild(td);
-td=null;
-}
-this.tbody.appendChild(tr);
-tr=null;
-var tr=document.createElement("tr");
-var td=document.createElement("td");
-tr.appendChild(td);
-td.colSpan=this.side+2;
-td.style.padding="3px";
-if(this.websafe){
-var div=document.createElement("div");
-var _37=document.createElement("label");
-_37.appendChild(document.createTextNode(Xinha._lc("Web Safe: ")));
-this.constrain_cb.onclick=function(){
-_2d.pick_color();
-};
-_37.appendChild(this.constrain_cb);
-_37.style.fontFamily="small-caption,caption,sans-serif";
-_37.style.fontSize="x-small";
-div.appendChild(_37);
-td.appendChild(div);
-div=null;
-}
-var div=document.createElement("div");
-var _37=document.createElement("label");
-_37.style.fontFamily="small-caption,caption,sans-serif";
-_37.style.fontSize="x-small";
-_37.appendChild(document.createTextNode(Xinha._lc("Color: ")));
-_37.appendChild(this.chosenColor);
-div.appendChild(_37);
-var but=document.createElement("span");
-but.className="buttonColor ";
-but.style.fontSize="13px";
-but.style.width="24px";
-but.style.marginLeft="2px";
-but.style.padding="0px 4px";
-but.style.cursor="pointer";
-but.onclick=function(){
-Xinha.colorPicker.remember(_2d.chosenColor.value,_2d.savecolors);
-_2d.callback(_2d.chosenColor.value);
-_2d.close();
-};
-but.appendChild(document.createTextNode(Xinha._lc("OK")));
-but.align="center";
-div.appendChild(but);
-td.appendChild(div);
-var _39=document.createElement("table");
-_39.style.width="100%";
-var _3a=document.createElement("tbody");
-_39.appendChild(_3a);
-var _3b=document.createElement("tr");
-_3a.appendChild(_3b);
-var _3c=document.createElement("td");
-_3b.appendChild(_3c);
-_3c.appendChild(this.backSample);
-_3c.style.width="50%";
-var _3d=document.createElement("td");
-_3b.appendChild(_3d);
-_3d.appendChild(this.foreSample);
-_3d.style.width="50%";
-td.appendChild(_39);
-var _3e=document.createElement("div");
-_3e.style.clear="both";
-function createSavedColors(_3f){
-var _40=Xinha.is_ie;
-var div=document.createElement("div");
-div.style.width=_2d.cellsize+"px";
-div.style.height=_2d.cellsize+"px";
-div.style.margin="1px";
-div.style.border="1px solid black";
-div.style.cursor="pointer";
-div.style.backgroundColor=_3f;
-div.style[_40?"styleFloat":"cssFloat"]="left";
-div.ondblclick=function(){
-_2d.callback(_3f);
-_2d.close();
-};
-div.onclick=function(){
-_2d.chosenColor.value=_3f;
-_2d.backSample.style.backgroundColor=_3f;
-_2d.foreSample.style.color=_3f;
-};
-_3e.appendChild(div);
-};
-for(var _42=0;_42<Xinha.colorPicker.savedColors.length;_42++){
-createSavedColors(Xinha.colorPicker.savedColors[_42]);
-}
-td.appendChild(_3e);
-this.tbody.appendChild(tr);
-document.body.appendChild(this.table);
-if(this.is_ie_6){
-if(!this.iframe){
-this.iframe=document.createElement("iframe");
-this.iframe.frameBorder=0;
-this.iframe.src="javascript:;";
-this.iframe.style.position="absolute";
-this.iframe.style.width=this.table.offsetWidth;
-this.iframe.style.height=this.table.offsetHeight;
-this.iframe.style.zIndex="1049";
-document.body.insertBefore(this.iframe,this.table);
-}
-this.iframe.style.display="";
-}
-}else{
-for(var row=0;row<this.side;row++){
-for(var col=0;col<this.side;col++){
-if(_31){
-this.saved_cells[row][col].colorCode=tupleToColor(rgbToWebsafe(hsvToRGB(_2e*row,_2f*col,this.value)));
-}else{
-this.saved_cells[row][col].colorCode=tupleToColor(hsvToRGB(_2e*row,_2f*col,this.value));
-}
-this.saved_cells[row][col].style.backgroundColor=this.saved_cells[row][col].colorCode;
-this.saved_cells[row][col].style.borderColor=this.saved_cells[row][col].colorCode;
-}
-}
-var _43=this.saved_cells[_5][_6];
-this.chosenColor.value=_43.colorCode;
-this.backSample.style.backgroundColor=_43.colorCode;
-this.foreSample.style.color=_43.colorCode;
-if((_43.hue>=195&&_43.saturation>0.5)||(_43.hue===0&&_43.saturation===0&&_43.value<0.5)||(_43.hue!==0&&_2d.value<0.75)){
-_43.style.borderColor="#fff";
-}else{
-_43.style.borderColor="#000";
-}
-}
-};
-this.close=function(){
-Xinha._removeEvent(document.body,"mousedown",closeOnBodyClick);
-this.table.style.display="none";
-if(this.is_ie_6){
-if(this.iframe){
-this.iframe.style.display="none";
-}
-}
-};
-};
-Xinha.colorPicker.savedColors=[];
-Xinha.colorPicker.remember=function(_44,_45){
-for(var i=Xinha.colorPicker.savedColors.length;i--;){
-if(Xinha.colorPicker.savedColors[i]==_44){
-return false;
-}
-}
-Xinha.colorPicker.savedColors.splice(0,0,_44);
-Xinha.colorPicker.savedColors=Xinha.colorPicker.savedColors.slice(0,_45);
-var _47=new Date();
-_47.setMonth(_47.getMonth()+1);
-document.cookie="XinhaColorPicker="+escape(Xinha.colorPicker.savedColors.join("-"))+";expires="+_47.toGMTString();
-return true;
-};
-Xinha.colorPicker.loadColors=function(){
-var _48=document.cookie.indexOf("XinhaColorPicker");
-if(_48!=-1){
-var _49=(document.cookie.indexOf("=",_48)+1);
-var end=document.cookie.indexOf(";",_48);
-if(end==-1){
-end=document.cookie.length;
-}
-Xinha.colorPicker.savedColors=unescape(document.cookie.substring(_49,end)).split("-");
-}
-};
-Xinha.colorPicker.InputBinding=function(_4b,_4c){
-var doc=_4b.ownerDocument;
-var _4e=doc.createElement("span");
-_4e.className="buttonColor";
-var _4f=this.chooser=doc.createElement("span");
-_4f.className="chooser";
-if(_4b.value){
-_4f.style.backgroundColor=_4b.value;
-}
-_4f.onmouseover=function(){
-_4f.className="chooser buttonColor-hilite";
-};
-_4f.onmouseout=function(){
-_4f.className="chooser";
-};
-_4f.appendChild(doc.createTextNode(" "));
-_4e.appendChild(_4f);
-var _50=doc.createElement("span");
-_50.className="nocolor";
-_50.onmouseover=function(){
-_50.className="nocolor buttonColor-hilite";
-_50.style.color="#f00";
-};
-_50.onmouseout=function(){
-_50.className="nocolor";
-_50.style.color="#000";
-};
-_50.onclick=function(){
-_4b.value="";
-_4f.style.backgroundColor="";
-};
-_50.appendChild(doc.createTextNode("×"));
-_4e.appendChild(_50);
-_4b.parentNode.insertBefore(_4e,_4b.nextSibling);
-Xinha._addEvent(_4b,"change",function(){
-_4f.style.backgroundColor=this.value;
-});
-_4c=(_4c)?Xinha.cloneObject(_4c):{cellsize:"5px"};
-_4c.callback=(_4c.callback)?_4c.callback:function(_51){
-_4f.style.backgroundColor=_51;
-_4b.value=_51;
-};
-_4f.onclick=function(){
-var _52=new Xinha.colorPicker(_4c);
-_52.open("",_4f,_4b.value);
-};
-Xinha.freeLater(this,"chooser");
-};
-Xinha.colorPicker.InputBinding.prototype.setColor=function(_53){
-this.chooser.style.backgroundColor=_53;
-};
-
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/ColorPicker/lang/pt_br.js b/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/ColorPicker/lang/pt_br.js
deleted file mode 100644
index 4b1ea7e..0000000
--- a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/ColorPicker/lang/pt_br.js
+++ /dev/null
@@ -1,22 +0,0 @@
-// I18N constants
-//
-// LANG: "pt_br", ENCODING: UTF-8
-// Portuguese Brazilian Translation
-//
-// Author: Marcio Barbosa, <marcio@mpg.com.br>
-// MSN: tomarshall@msn.com - ICQ: 69419933
-// Site: http://www.mpg.com.br
-//
-// Last revision: 06 september 2007
-// Please don´t remove this information
-// If you modify any source, please insert a comment with your name and e-mail
-//
-// Distributed under the same terms as HTMLArea itself.
-// This notice MUST stay intact for use (see license.txt).
-{
-  "Click a color...": "Selecione uma côr...",
-  "Close": "Fechar",
-  "Color: ": "Côr:",
-  "Sample": "Exemplo",
-  "Web Safe: ": "Web Segura:"
-}
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/CreateLink/lang/pt_br.js b/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/CreateLink/lang/pt_br.js
deleted file mode 100644
index f75cd02..0000000
--- a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/CreateLink/lang/pt_br.js
+++ /dev/null
@@ -1,18 +0,0 @@
-// I18N constants
-//
-// LANG: "pt_br", ENCODING: UTF-8
-// Portuguese Brazilian Translation
-//
-// Author: Marcio Barbosa, <marcio@mpg.com.br>
-// MSN: tomarshall@msn.com - ICQ: 69419933
-// Site: http://www.mpg.com.br
-//
-// Last revision: 06 september 2007
-// Please don´t remove this information
-// If you modify any source, please insert a comment with your name and e-mail
-//
-// Distributed under the same terms as HTMLArea itself.
-// This notice MUST stay intact for use (see license.txt).
-{
-  "You need to select some text before creating a link": "Você precisa selecionar um texto antes de criar um link"
-}
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/CreateLink/link.html b/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/CreateLink/link.html
deleted file mode 100644
index adad400..0000000
--- a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/CreateLink/link.html
+++ /dev/null
@@ -1,136 +0,0 @@
-<html>
-
-<head>
-  <title>Insert/Modify Link</title>
-  <script type="text/javascript" src="../../popups/popup.js"></script>
-  <link rel="stylesheet" type="text/css" href="../../popups/popup.css" />
-
-  <script type="text/javascript">
-    window.resizeTo(400, 200);
-
-Xinha = window.opener.Xinha;
-
-function i18n(str) {
-  return (Xinha._lc(str, 'Xinha'));
-}
-
-function onTargetChanged() {
-  var f = document.getElementById("f_other_target");
-  if (this.value == "_other") {
-    f.style.visibility = "visible";
-    f.select();
-    f.focus();
-  } else f.style.visibility = "hidden";
-}
-
-function Init() {
-  __dlg_translate('Xinha');
-  __dlg_init();
-
-  // Make sure the translated string appears in the drop down. (for gecko)
-  document.getElementById("f_target").selectedIndex = 1;
-  document.getElementById("f_target").selectedIndex = 0;
-
-  var param = window.dialogArguments;
-  var target_select = document.getElementById("f_target");
-  var use_target = true;
-  if (param) {
-    if ( typeof param["f_usetarget"] != "undefined" ) {
-      use_target = param["f_usetarget"];
-    }
-    if ( typeof param["f_href"] != "undefined" ) {
-      document.getElementById("f_href").value = param["f_href"];
-      document.getElementById("f_title").value = param["f_title"];
-      comboSelectValue(target_select, param["f_target"]);
-      if (target_select.value != param.f_target) {
-        var opt = document.createElement("option");
-        opt.value = param.f_target;
-        opt.innerHTML = opt.value;
-        target_select.appendChild(opt);
-        opt.selected = true;
-      }
-    }
-  }
-  if (! use_target) {
-    document.getElementById("f_target_label").style.visibility = "hidden";
-    document.getElementById("f_target").style.visibility = "hidden";
-    document.getElementById("f_other_target").style.visibility = "hidden";
-  }
-  var opt = document.createElement("option");
-  opt.value = "_other";
-  opt.innerHTML = i18n("Other");
-  target_select.appendChild(opt);
-  target_select.onchange = onTargetChanged;
-  document.getElementById("f_href").focus();
-  document.getElementById("f_href").select();
-}
-
-function onOK() {
-  var required = {
-    // f_href shouldn't be required or otherwise removing the link by entering an empty
-    // url isn't possible anymore.
-    // "f_href": i18n("You must enter the URL where this link points to")
-  };
-  for (var i in required) {
-    var el = document.getElementById(i);
-    if (!el.value) {
-      alert(required[i]);
-      el.focus();
-      return false;
-    }
-  }
-  // pass data back to the calling window
-  var fields = ["f_href", "f_title", "f_target" ];
-  var param = new Object();
-  for (var i in fields) {
-    var id = fields[i];
-    var el = document.getElementById(id);
-    param[id] = el.value;
-  }
-  if (param.f_target == "_other")
-    param.f_target = document.getElementById("f_other_target").value;
-  __dlg_close(param);
-  return false;
-}
-
-function onCancel() {
-  __dlg_close(null);
-  return false;
-}
-
-</script>
-
-</head>
-
-<body class="dialog" onload="Init()">
-<div class="title">Insert/Modify Link</div>
-<form>
-<table border="0" style="width: 100%;">
-  <tr>
-    <td class="label">URL:</td>
-    <td><input type="text" id="f_href" style="width: 100%" /></td>
-  </tr>
-  <tr>
-    <td class="label">Title (tooltip):</td>
-    <td><input type="text" id="f_title" style="width: 100%" /></td>
-  </tr>
-  <tr>
-    <td class="label"><span id="f_target_label">Target:</span></td>
-    <td><select id="f_target">
-      <option value="">None (use implicit)</option>
-      <option value="_blank">New window (_blank)</option>
-      <option value="_self">Same frame (_self)</option>
-      <option value="_top">Top frame (_top)</option>
-    </select>
-    <input type="text" name="f_other_target" id="f_other_target" size="10" style="visibility: hidden" />
-    </td>
-  </tr>
-</table>
-
-<div id="buttons">
-  <button type="submit" name="ok" onclick="return onOK();">OK</button>
-  <button type="button" name="cancel" onclick="return onCancel();">Cancel</button>
-</div>
-</form>
-</body>
-</html>
\ No newline at end of file
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/CreateLink/link.js b/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/CreateLink/link.js
deleted file mode 100644
index fbd334f..0000000
--- a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/CreateLink/link.js
+++ /dev/null
@@ -1,67 +0,0 @@
-/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */
-/* The URL of the most recent version of this file is http://svn.xinha.org/trunk/modules/CreateLink/link.js */
-function CreateLink(_1){
-this.editor=_1;
-var _2=_1.config;
-var _3=this;
-_1.config.btnList.createlink[3]=function(){
-_3.show(_3._getSelectedAnchor());
-};
-};
-CreateLink._pluginInfo={name:"CreateLink",origin:"Xinha Core",version:"$LastChangedRevision: 1084 $".replace(/^[^:]*:\s*(.*)\s*\$$/,"$1"),developer:"The Xinha Core Developer Team",developer_url:"$HeadURL: http://svn.xinha.org/tags/0.96.1/modules/CreateLink/link.js $".replace(/^[^:]*:\s*(.*)\s*\$$/,"$1"),sponsor:"",sponsor_url:"",license:"htmlArea"};
-CreateLink.prototype._lc=function(_4){
-return Xinha._lc(_4,"Xinha");
-};
-CreateLink.prototype.onGenerateOnce=function(){
-CreateLink.loadAssets();
-};
-CreateLink.loadAssets=function(){
-var _5=CreateLink;
-if(_5.loading){
-return;
-}
-_5.loading=true;
-Xinha._getback(_editor_url+"modules/CreateLink/dialog.html",function(_6){
-_5.html=_6;
-_5.dialogReady=true;
-});
-Xinha._getback(_editor_url+"modules/CreateLink/pluginMethods.js",function(_7){
-eval(_7);
-_5.methodsReady=true;
-});
-};
-CreateLink.prototype.onUpdateToolbar=function(){
-if(!(CreateLink.dialogReady&&CreateLink.methodsReady)){
-this.editor._toolbarObjects.createlink.state("enabled",false);
-}else{
-this.onUpdateToolbar=null;
-}
-};
-CreateLink.prototype.prepareDialog=function(){
-var _8=this;
-var _9=this.editor;
-var _a=this.dialog=new Xinha.Dialog(_9,CreateLink.html,"Xinha",{width:400});
-_a.getElementById("ok").onclick=function(){
-_8.apply();
-};
-_a.getElementById("cancel").onclick=function(){
-_8.dialog.hide();
-};
-if(!_9.config.makeLinkShowsTarget){
-_a.getElementById("f_target_label").style.visibility="hidden";
-_a.getElementById("f_target").style.visibility="hidden";
-_a.getElementById("f_other_target").style.visibility="hidden";
-}
-_a.getElementById("f_target").onchange=function(){
-var f=_a.getElementById("f_other_target");
-if(this.value=="_other"){
-f.style.visibility="visible";
-f.select();
-f.focus();
-}else{
-f.style.visibility="hidden";
-}
-};
-this.dialogReady=true;
-};
-
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/CreateLink/pluginMethods.js b/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/CreateLink/pluginMethods.js
deleted file mode 100644
index 9303b6d..0000000
--- a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/CreateLink/pluginMethods.js
+++ /dev/null
@@ -1,109 +0,0 @@
-/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */
-/* The URL of the most recent version of this file is http://svn.xinha.org/trunk/modules/CreateLink/pluginMethods.js */
-CreateLink.prototype.show=function(a){
-if(!this.dialog){
-this.prepareDialog();
-}
-var _2=this.editor;
-this.a=a;
-if(!a&&this.editor.selectionEmpty(this.editor.getSelection())){
-alert(this._lc("You need to select some text before creating a link"));
-return false;
-}
-var _3={f_href:"",f_title:"",f_target:"",f_other_target:""};
-if(a&&a.tagName.toLowerCase()=="a"){
-_3.f_href=this.editor.fixRelativeLinks(a.getAttribute("href"));
-_3.f_title=a.title;
-if(a.target){
-if(!/_self|_top|_blank/.test(a.target)){
-_3.f_target="_other";
-_3.f_other_target=a.target;
-}else{
-_3.f_target=a.target;
-_3.f_other_target="";
-}
-}
-}
-this.dialog.show(_3);
-};
-CreateLink.prototype.apply=function(){
-var _4=this.dialog.hide();
-var a=this.a;
-var _6=this.editor;
-var _7={href:"",target:"",title:""};
-if(_4.f_href){
-_7.href=_4.f_href;
-_7.title=_4.f_title;
-if(_4.f_target.value){
-if(_4.f_target.value=="other"){
-_7.target=_4.f_other_target;
-}else{
-_7.target=_4.f_target.value;
-}
-}
-}
-if(_4.f_target.value){
-if(_4.f_target.value!="_other"){
-_7.target=_4.f_target.value;
-}else{
-_7.target=_4.f_other_target;
-}
-}
-if(a&&a.tagName.toLowerCase()=="a"){
-if(!_7.href){
-if(confirm(this._lc("Are you sure you wish to remove this link?"))){
-var p=a.parentNode;
-while(a.hasChildNodes()){
-p.insertBefore(a.removeChild(a.childNodes[0]),a);
-}
-p.removeChild(a);
-_6.updateToolbar();
-return;
-}
-}else{
-for(var i in _7){
-a.setAttribute(i,_7[i]);
-}
-if(Xinha.is_ie){
-if(/mailto:([^?<>]*)(\?[^<]*)?$/i.test(a.innerHTML)){
-a.innerHTML=RegExp.$1;
-}
-}
-}
-}else{
-if(!_7.href){
-return true;
-}
-var _a=Xinha.uniq("http://www.example.com/Link");
-_6._doc.execCommand("createlink",false,_a);
-var _b=_6._doc.getElementsByTagName("a");
-for(var i=0;i<_b.length;i++){
-var _c=_b[i];
-if(_c.href==_a){
-if(!a){
-a=_c;
-}
-for(var j in _7){
-_c.setAttribute(j,_7[j]);
-}
-}
-}
-}
-_6.selectNodeContents(a);
-_6.updateToolbar();
-};
-CreateLink.prototype._getSelectedAnchor=function(){
-var _e=this.editor.getSelection();
-var _f=this.editor.createRange(_e);
-var a=this.editor.activeElement(_e);
-if(a!=null&&a.tagName.toLowerCase()=="a"){
-return a;
-}else{
-a=this.editor._getFirstAncestor(_e,"a");
-if(a!=null){
-return a;
-}
-}
-return null;
-};
-
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/Dialogs/DetachedDialog.js b/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/Dialogs/DetachedDialog.js
deleted file mode 100644
index 934c3a8..0000000
--- a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/Dialogs/DetachedDialog.js
+++ /dev/null
@@ -1,24 +0,0 @@
-/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */
-/* The URL of the most recent version of this file is http://svn.xinha.org/trunk/modules/Dialogs/DetachedDialog.js */
-Xinha.DetachedDialog=function(_1,_2,_3,_4){
-var _5={"config":new Xinha.Config(),"scrollPos":Xinha.prototype.scrollPos,"_someEditorHasBeenActivated":false,"saveSelection":function(){
-},"deactivateEditor":function(){
-},"_textArea":document.createElement("textarea"),"_iframe":document.createElement("div"),"_doc":document,"hidePanels":function(){
-},"showPanels":function(){
-},"_isFullScreen":false,"activateEditor":function(){
-},"restoreSelection":function(){
-},"updateToolbar":function(){
-},"focusEditor":function(){
-}};
-Xinha.Dialog.initialZ=100;
-this.attached=false;
-Xinha.DetachedDialog.parentConstructor.call(this,_5,_1,_2,_3,_4);
-};
-Xinha.extend(Xinha.DetachedDialog,Xinha.Dialog);
-Xinha.DetachedDialog.prototype.attachToPanel=function(){
-return false;
-};
-Xinha.DetachedDialog.prototype.detachFromToPanel=function(){
-return false;
-};
-
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/Dialogs/XinhaDialog.js b/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/Dialogs/XinhaDialog.js
deleted file mode 100644
index 387f2c6..0000000
--- a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/Dialogs/XinhaDialog.js
+++ /dev/null
@@ -1,916 +0,0 @@
-/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */
-/* The URL of the most recent version of this file is http://svn.xinha.org/trunk/modules/Dialogs/XinhaDialog.js */
-Xinha.Dialog=function(_1,_2,_3,_4,_5){
-var _6=this;
-this.id={};
-this.r_id={};
-this.editor=_1;
-this.document=document;
-this.size=_4;
-this.modal=(_5&&_5.modal===false)?false:true;
-this.closable=(_5&&_5.closable===false)?false:true;
-this.resizable=(_5&&_5.resizable===false)?false:true;
-this.layer=(_5&&_5.layer)?_5.layer:0;
-this.centered=(_5&&_5.centered===true)?true:false;
-this.closeOnEscape=(_5&&_5.closeOnEscape===true)?true:false;
-this.rootElem=null;
-this.captionBar=null;
-this.main=null;
-this.background=null;
-this.centered=null;
-this.greyout=null;
-this.buttons=null;
-this.closer=null;
-this.icon=null;
-this.resizer=null;
-this.initialZ=null;
-var _7=_1.config.dialogOptions;
-if(_7){
-if(typeof _7.centered!="undefined"){
-this.centered=_7.centered;
-}
-if(typeof _7.resizable!="undefined"){
-this.resizable=_7.resizable;
-}
-if(typeof _7.closable!="undefined"){
-this.closable=_7.closable;
-}
-if(typeof _7.greyout!="undefined"){
-this.greyout=_7.greyout;
-}
-if(typeof _7.closeOnEscape!="undefined"){
-this.closeOnEscape=_7.closeOnEscape;
-}
-}
-var _8;
-if(Xinha.is_ie){
-_8=document.createElement("iframe");
-_8.src="about:blank";
-_8.onreadystatechange=function(){
-var _9=window.event.srcElement.contentWindow.document;
-if(this.readyState=="complete"&&_9&&_9.body){
-var _a=_9.createElement("div");
-var _b,_c=document.styleSheets;
-for(var i=0;i<_c.length;i++){
-if(_c[i].id.indexOf("Xinha")!=-1&&_c[i].cssText){
-_b+=_c[i].cssText;
-}
-}
-_a.innerHTML="<br><style type=\"text/css\">\n"+_b+"\n</style>";
-_9.getElementsByTagName("body")[0].appendChild(_a);
-_9.body.className="xinha_dialog_background";
-if(_6.modal){
-_9.body.className+="_modal";
-}
-if(_6.greyout){
-_9.body.className+="_greyout";
-}
-}
-};
-}else{
-_8=document.createElement("div");
-}
-_8.className="xinha_dialog_background";
-if(this.modal){
-_8.className+="_modal";
-}
-if(this.greyout){
-_8.className+="_greyout";
-}
-var z=1000;
-if(!Xinha.Dialog.initialZ){
-var p=_1._htmlArea;
-while(p){
-if(p.style&&parseInt(p.style.zIndex,10)>z){
-z=parseInt(p.style.zIndex,10);
-}
-p=p.parentNode;
-}
-Xinha.Dialog.initialZ=z;
-}
-z=Xinha.Dialog.initialZ;
-var s=_8.style;
-s.position="absolute";
-s.top=0;
-s.left=0;
-s.border="none";
-s.overflow="hidden";
-s.display="none";
-s.zIndex=(this.modal?z+25:z+1)+this.layer;
-document.body.appendChild(_8);
-this.background=_8;
-_8=null;
-Xinha.freeLater(this,"background");
-var _11=document.createElement("div");
-_11.style.position=(Xinha.is_ie||!this.modal)?"absolute":"fixed";
-_11.style.zIndex=(this.modal?z+27:z+3)+this.layer;
-_11.style.display="none";
-if(!this.modal){
-Xinha._addEvent(_11,"mousedown",function(){
-Xinha.Dialog.activateModeless(_6);
-});
-}
-_11.className="dialog"+(this.modal?"":" modeless");
-if(Xinha.is_chrome){
-_11.className+=" chrome";
-}
-document.body.appendChild(_11);
-_11.style.paddingBottom="10px";
-_11.style.width=(_4&&_4.width)?_4.width+"px":"";
-if(_4&&_4.height){
-if(Xinha.ie_version<7){
-_11.style.height=_4.height+"px";
-}else{
-_11.style.minHeight=_4.height+"px";
-}
-}
-_2=this.translateHtml(_2,_3);
-var _12=document.createElement("div");
-_11.appendChild(_12);
-_12.innerHTML=_2;
-this.fixupDOM(_12,_3);
-var _13=_12.removeChild(_12.getElementsByTagName("h1")[0]);
-_11.insertBefore(_13,_12);
-Xinha._addEvent(_13,"mousedown",function(ev){
-_6.dragStart(ev);
-});
-_13.style.MozUserSelect="none";
-_13.style.WebkitUserSelect="none";
-_13.unselectable="on";
-_13.onselectstart=function(){
-return false;
-};
-this.buttons=document.createElement("div");
-s=this.buttons.style;
-s.position="absolute";
-s.top="0";
-s.right="2px";
-_11.appendChild(this.buttons);
-if(this.closable&&this.closeOnEscape){
-Xinha._addEvent(document,"keypress",function(ev){
-if(ev.keyCode==27){
-if(Xinha.Dialog.activeModeless==_6||_6.modal){
-_6.hide();
-return true;
-}
-}
-});
-}
-this.closer=null;
-if(this.closable){
-this.closer=document.createElement("div");
-this.closer.className="closeButton";
-this.closer.onmousedown=function(ev){
-this.className="closeButton buttonClick";
-Xinha._stopEvent(Xinha.getEvent(ev));
-return false;
-};
-this.closer.onmouseout=function(ev){
-this.className="closeButton";
-Xinha._stopEvent(Xinha.getEvent(ev));
-return false;
-};
-this.closer.onmouseup=function(){
-this.className="closeButton";
-_6.hide();
-return false;
-};
-this.buttons.appendChild(this.closer);
-var _18=document.createElement("span");
-_18.className="innerX";
-_18.style.position="relative";
-_18.style.top="-3px";
-_18.appendChild(document.createTextNode("×"));
-this.closer.appendChild(_18);
-_18=null;
-}
-this.icon=document.createElement("img");
-var _19=this.icon;
-_19.className="icon";
-_19.src=_1.config.iconList.dialogCaption;
-_19.style.position="absolute";
-_19.style.top="3px";
-_19.style.left="2px";
-_19.ondrag=function(){
-return false;
-};
-_11.appendChild(this.icon);
-var all=_11.getElementsByTagName("*");
-for(var i=0;i<all.length;i++){
-var el=all[i];
-if(el.tagName.toLowerCase()=="textarea"||el.tagName.toLowerCase()=="input"){
-}else{
-el.unselectable="on";
-}
-}
-this.resizer=null;
-if(this.resizable){
-this.resizer=document.createElement("div");
-this.resizer.className="resizeHandle";
-s=this.resizer.style;
-s.position="absolute";
-s.bottom="0px";
-s.right="0px";
-s.MozUserSelect="none";
-Xinha._addEvent(this.resizer,"mousedown",function(ev){
-_6.resizeStart(ev);
-});
-_11.appendChild(this.resizer);
-}
-this.rootElem=_11;
-this.captionBar=_13;
-this.main=_12;
-_13=null;
-_11=null;
-_12=null;
-Xinha.freeLater(this,"rootElem");
-Xinha.freeLater(this,"captionBar");
-Xinha.freeLater(this,"main");
-Xinha.freeLater(this,"buttons");
-Xinha.freeLater(this,"closer");
-Xinha.freeLater(this,"icon");
-Xinha.freeLater(this,"resizer");
-Xinha.freeLater(this,"document");
-this.size={};
-};
-Xinha.Dialog.prototype.onresize=function(){
-return true;
-};
-Xinha.Dialog.prototype.show=function(_1e){
-var _1f=this.rootElem;
-var _20=_1f.style;
-var _21=this.modal;
-var _22=this.editor.scrollPos();
-this.scrollPos=_22;
-var _23=this;
-if(this.attached){
-this.editor.showPanel(_1f);
-}
-if(Xinha._someEditorHasBeenActivated){
-this._lastRange=this.editor.saveSelection();
-if(Xinha.is_ie&&!_21){
-_23.saveSelection=function(){
-_23._lastRange=_23.editor.saveSelection();
-};
-Xinha._addEvent(this.editor._doc,"mouseup",_23.saveSelection);
-}
-}
-if(_21){
-this.editor.deactivateEditor();
-this.editor.suspendUpdateToolbar=true;
-this.editor.currentModal=_23;
-}
-if(Xinha.is_ff2&&_21){
-this._restoreTo=[this.editor._textArea.style.display,this.editor._iframe.style.visibility,this.editor.hidePanels()];
-this.editor._textArea.style.display="none";
-this.editor._iframe.style.visibility="hidden";
-}
-if(!this.attached){
-if(_21){
-this.showBackground();
-this.posBackground({top:0,left:0});
-this.resizeBackground(Xinha.Dialog.calcFullBgSize());
-}else{
-this.background.style.display="";
-}
-Xinha.Dialog.fadeIn(this.rootElem,100,function(){
-if(_21){
-var _24=_23.rootElem.getElementsByTagName("input");
-for(var i=0;i<_24.length;i++){
-if(_24[i].type=="text"){
-try{
-_24[i].focus();
-break;
-}
-catch(e){
-}
-}
-}
-}
-});
-var _26=_1f.offsetHeight;
-var _27=_1f.offsetWidth;
-var _28=Xinha.viewportSize();
-var _29=_28.y;
-var _2a=_28.x;
-if(_26>_29){
-_20.height=_29+"px";
-if(_1f.scrollHeight>_26){
-_23.main.style.overflowY="auto";
-}
-}
-if(this.size.top&&this.size.left){
-_20.top=parseInt(this.size.top,10)+"px";
-_20.left=parseInt(this.size.left,10)+"px";
-}else{
-if(this.editor.btnClickEvent&&!this.centered){
-var _2b=this.editor.btnClickEvent;
-if(_20.position=="absolute"){
-_20.top=_2b.clientY+this.scrollPos.y+"px";
-}else{
-_20.top=_2b.clientY+"px";
-}
-if(_26+_1f.offsetTop>_29){
-_20.top=(_20.position=="absolute"?this.scrollPos.y:0)+"px";
-}
-if(_20.position=="absolute"){
-_20.left=_2b.clientX+this.scrollPos.x+"px";
-}else{
-_20.left=_2b.clientX+"px";
-}
-if(_27+_1f.offsetLeft>_2a){
-_20.left=_2b.clientX-_27+"px";
-if(_1f.offsetLeft<0){
-_20.left=0;
-}
-}
-this.editor.btnClickEvent=null;
-}else{
-var top=(_29-_26)/2;
-var _2d=(_2a-_27)/2;
-_20.top=((top>0)?top:0)+"px";
-_20.left=((_2d>0)?_2d:0)+"px";
-}
-}
-}
-this.width=_27;
-this.height=_26;
-if(!_21){
-this.resizeBackground({width:_27+"px",height:_26+"px"});
-this.posBackground({top:_20.top,left:_20.left});
-}
-if(typeof _1e!="undefined"){
-this.setValues(_1e);
-}
-this.dialogShown=true;
-};
-Xinha.Dialog.prototype.hide=function(){
-if(this.attached){
-this.editor.hidePanel(this.rootElem);
-}else{
-Xinha.Dialog.fadeOut(this.rootElem);
-this.hideBackground();
-var _2e=this;
-if(Xinha.is_ff2&&this.modal){
-this.editor._textArea.style.display=this._restoreTo[0];
-this.editor._iframe.style.visibility=this._restoreTo[1];
-this.editor.showPanels(this._restoreTo[2]);
-}
-if(!this.editor._isFullScreen&&this.modal){
-window.scroll(this.scrollPos.x,this.scrollPos.y);
-}
-if(Xinha.is_ie&&!this.modal){
-Xinha._removeEvent(this.editor._doc,"mouseup",_2e.saveSelection);
-}
-if(this.modal){
-this.editor.suspendUpdateToolbar=false;
-this.editor.currentModal=null;
-this.editor.activateEditor();
-}
-}
-if(this.modal){
-this.editor.restoreSelection(this._lastRange);
-}
-this.dialogShown=false;
-this.editor.updateToolbar();
-this.editor.focusEditor();
-return this.getValues();
-};
-Xinha.Dialog.prototype.toggle=function(){
-if(this.rootElem.style.display=="none"){
-this.show();
-}else{
-this.hide();
-}
-};
-Xinha.Dialog.prototype.collapse=function(){
-if(this.collapsed){
-this.collapsed=false;
-this.show();
-}else{
-this.main.style.height=0;
-this.collapsed=true;
-}
-};
-Xinha.Dialog.prototype.getElementById=function(id){
-if(!this.rootElem.parentNode){
-this.document.body.appendChild(this.rootElem);
-}
-return this.document.getElementById(this.id[id]?this.id[id]:id);
-};
-Xinha.Dialog.prototype.getElementsByName=function(_30){
-if(!this.rootElem.parentNode){
-this.document.body.appendChild(this.rootElem);
-}
-var els=this.document.getElementsByName(this.id[_30]?this.id[_30]:_30);
-return Xinha.collectionToArray(els);
-};
-Xinha.Dialog.prototype.getElementsByClassName=function(_32){
-return Xinha.getElementsByClassName(this.rootElem,_32);
-};
-Xinha.Dialog.prototype.dragStart=function(ev){
-if(this.attached||this.dragging){
-return;
-}
-if(!this.modal){
-this.posBackground({top:0,left:0});
-this.resizeBackground(Xinha.Dialog.calcFullBgSize());
-this.editor.suspendUpdateToolbar=true;
-}
-ev=Xinha.getEvent(ev);
-var _34=this;
-_34.dragging=true;
-_34.scrollPos=_34.editor.scrollPos();
-var st=_34.rootElem.style;
-_34.xOffs=ev.offsetX||ev.layerX;
-_34.yOffs=ev.offsetY||ev.layerY;
-_34.mouseMove=function(ev){
-_34.dragIt(ev);
-};
-Xinha._addEvent(document,"mousemove",_34.mouseMove);
-if(Xinha.is_ie){
-Xinha._addEvent(this.background.contentWindow.document,"mousemove",_34.mouseMove);
-}
-_34.mouseUp=function(ev){
-_34.dragEnd(ev);
-};
-Xinha._addEvent(document,"mouseup",_34.mouseUp);
-if(Xinha.is_ie){
-Xinha._addEvent(this.background.contentWindow.document,"mouseup",_34.mouseUp);
-}
-};
-Xinha.Dialog.prototype.dragIt=function(ev){
-var _39=this;
-if(!_39.dragging){
-return false;
-}
-var _3a,_3b,_3c;
-if(_39.rootElem.style.position=="absolute"){
-_3a=(ev.clientY+this.scrollPos.y)-_39.yOffs+"px";
-_3b=(ev.clientX+this.scrollPos.x)-_39.xOffs+"px";
-_3c={top:_3a,left:_3b};
-}else{
-if(_39.rootElem.style.position=="fixed"){
-_3a=ev.clientY-_39.yOffs+"px";
-_3b=ev.clientX-_39.xOffs+"px";
-_3c={top:_3a,left:_3b};
-}
-}
-_39.posDialog(_3c);
-};
-Xinha.Dialog.prototype.dragEnd=function(ev){
-var _3e=this;
-if(!this.modal){
-this.editor.suspendUpdateToolbar=false;
-}
-if(!_3e.dragging){
-return false;
-}
-_3e.dragging=false;
-Xinha._removeEvent(document,"mousemove",_3e.mouseMove);
-if(Xinha.is_ie){
-Xinha._removeEvent(this.background.contentWindow.document,"mousemove",_3e.mouseMove);
-}
-Xinha._removeEvent(document,"mouseup",_3e.mouseUp);
-if(Xinha.is_ie){
-Xinha._removeEvent(this.background.contentWindow.document,"mouseup",_3e.mouseUp);
-}
-var _3f=_3e.rootElem.style;
-_3e.size.top=_3f.top;
-_3e.size.left=_3f.left;
-if(!this.modal){
-this.sizeBgToDialog();
-}
-};
-Xinha.Dialog.prototype.resizeStart=function(ev){
-var _41=this;
-if(_41.resizing){
-return;
-}
-_41.resizing=true;
-if(!this.modal){
-this.editor.suspendUpdateToolbar=true;
-this.posBackground({top:0,left:0});
-this.resizeBackground(Xinha.Dialog.calcFullBgSize());
-}
-_41.scrollPos=_41.editor.scrollPos();
-var st=_41.rootElem.style;
-st.minHeight="";
-st.overflow="hidden";
-_41.xOffs=parseInt(st.left,10);
-_41.yOffs=parseInt(st.top,10);
-_41.mouseMove=function(ev){
-_41.resizeIt(ev);
-};
-Xinha._addEvent(document,"mousemove",_41.mouseMove);
-if(Xinha.is_ie){
-Xinha._addEvent(this.background.contentWindow.document,"mousemove",_41.mouseMove);
-}
-_41.mouseUp=function(ev){
-_41.resizeEnd(ev);
-};
-Xinha._addEvent(document,"mouseup",_41.mouseUp);
-if(Xinha.is_ie){
-Xinha._addEvent(this.background.contentWindow.document,"mouseup",_41.mouseUp);
-}
-};
-Xinha.Dialog.prototype.resizeIt=function(ev){
-var _46=this;
-if(!_46.resizing){
-return false;
-}
-var _47,_48;
-if(_46.rootElem.style.position=="absolute"){
-_47=ev.clientY+_46.scrollPos.y;
-_48=ev.clientX+_46.scrollPos.x;
-}else{
-_47=ev.clientY;
-_48=ev.clientX;
-}
-_48-=_46.xOffs;
-_47-=_46.yOffs;
-var _49={};
-_49.width=((_48>10)?_48:10)+8+"px";
-_49.height=((_47>10)?_47:10)+"px";
-_46.sizeDialog(_49);
-_46.width=_46.rootElem.offsetWidth;
-_46.height=_46.rootElem.offsetHeight;
-_46.onresize();
-};
-Xinha.Dialog.prototype.resizeEnd=function(ev){
-var _4b=this;
-_4b.resizing=false;
-if(!this.modal){
-this.editor.suspendUpdateToolbar=false;
-}
-Xinha._removeEvent(document,"mousemove",_4b.mouseMove);
-if(Xinha.is_ie){
-Xinha._removeEvent(this.background.contentWindow.document,"mouseup",_4b.mouseUp);
-}
-Xinha._removeEvent(document,"mouseup",_4b.mouseUp);
-if(Xinha.is_ie){
-Xinha._removeEvent(this.background.contentWindow.document,"mouseup",_4b.mouseUp);
-}
-_4b.size.width=_4b.rootElem.offsetWidth;
-_4b.size.height=_4b.rootElem.offsetHeight;
-if(!this.modal){
-this.sizeBgToDialog();
-}
-};
-Xinha.Dialog.prototype.attachToPanel=function(_4c){
-var _4d=this;
-var _4e=this.rootElem;
-var _4f=this.editor;
-this.attached=true;
-this.rootElem.side=_4c;
-this.captionBar.ondblclick=function(ev){
-_4d.detachFromPanel(Xinha.getEvent(ev));
-};
-_4e.style.position="static";
-_4e.parentNode.removeChild(_4e);
-this.background.style.display="none";
-this.captionBar.style.paddingLeft="3px";
-this.resizer.style.display="none";
-if(this.closable){
-this.closer.style.display="none";
-}
-this.icon.style.display="none";
-if(_4c=="left"||_4c=="right"){
-_4e.style.width=_4f.config.panel_dimensions[_4c];
-}else{
-_4e.style.width="";
-}
-Xinha.addClasses(_4e,"panel");
-_4f._panels[_4c].panels.push(_4e);
-_4f._panels[_4c].div.appendChild(_4e);
-_4f.notifyOf("panel_change",{"action":"add","panel":_4e});
-};
-Xinha.Dialog.prototype.detachFromPanel=function(){
-var _51=this;
-var _52=_51.rootElem;
-var _53=_52.style;
-var _54=_51.editor;
-_51.attached=false;
-var pos=Xinha.getElementTopLeft(_52);
-_53.position="absolute";
-_53.top=pos.top+"px";
-_53.left=pos.left+"px";
-_51.resizer.style.display="";
-if(_51.closable){
-_51.closer.style.display="";
-}
-_51.icon.style.display="";
-if(_51.size.width){
-_52.style.width=_51.size.width+"px";
-}
-Xinha.removeClasses(_52,"panel");
-_54.removePanel(_52);
-document.body.appendChild(_52);
-_51.captionBar.ondblclick=function(){
-_51.attachToPanel(_52.side);
-};
-this.background.style.display="";
-this.sizeBgToDialog();
-};
-Xinha.Dialog.calcFullBgSize=function(){
-var _56=Xinha.pageSize();
-var _57=Xinha.viewportSize();
-return {width:(_56.x>_57.x?_56.x:_57.x)+"px",height:(_56.x>_57.y?_56.y:_57.y)+"px"};
-};
-Xinha.Dialog.prototype.sizeBgToDialog=function(){
-var _58=this.rootElem.style;
-var _59=this.background.style;
-_59.top=_58.top;
-_59.left=_58.left;
-_59.width=_58.width;
-_59.height=_58.height;
-};
-Xinha.Dialog.prototype.hideBackground=function(){
-Xinha.Dialog.fadeOut(this.background);
-};
-Xinha.Dialog.prototype.showBackground=function(){
-Xinha.Dialog.fadeIn(this.background,70);
-};
-Xinha.Dialog.prototype.posBackground=function(pos){
-if(this.background.style.display!="none"){
-this.background.style.top=pos.top;
-this.background.style.left=pos.left;
-}
-};
-Xinha.Dialog.prototype.resizeBackground=function(_5b){
-if(this.background.style.display!="none"){
-this.background.style.width=_5b.width;
-this.background.style.height=_5b.height;
-}
-};
-Xinha.Dialog.prototype.posDialog=function(pos){
-var st=this.rootElem.style;
-st.left=pos.left;
-st.top=pos.top;
-};
-Xinha.Dialog.prototype.sizeDialog=function(_5e){
-var st=this.rootElem.style;
-st.height=_5e.height;
-st.width=_5e.width;
-var _60=parseInt(_5e.width,10);
-var _61=parseInt(_5e.height,10)-this.captionBar.offsetHeight;
-this.main.style.height=(_61>20)?_61:20+"px";
-this.main.style.width=(_60>10)?_60:10+"px";
-};
-Xinha.Dialog.prototype.setValues=function(_62){
-for(var i in _62){
-if(typeof i=="string"){
-var _64=this.getElementsByName(i);
-if(!_64){
-continue;
-}
-for(var x=0;x<_64.length;x++){
-var e=_64[x];
-switch(e.tagName.toLowerCase()){
-case "select":
-for(var j=0;j<e.options.length;j++){
-if(typeof _62[i]=="object"){
-for(var k=0;k<_62[i].length;k++){
-if(_62[i][k]==e.options[j].value){
-e.options[j].selected=true;
-}
-}
-}else{
-if(_62[i]==e.options[j].value){
-e.options[j].selected=true;
-}
-}
-}
-break;
-case "textarea":
-case "input":
-switch(e.getAttribute("type")){
-case "radio":
-if(e.value==_62[i]){
-e.checked=true;
-}
-break;
-case "checkbox":
-if(typeof _62[i]=="object"){
-for(j in _62[i]){
-if(_62[i][j]==e.value){
-e.checked=true;
-}
-}
-}else{
-if(_62[i]==e.value){
-e.checked=true;
-}
-}
-break;
-default:
-e.value=_62[i];
-break;
-}
-}
-}
-}
-}
-};
-Xinha.Dialog.prototype.getValues=function(){
-var _69=[];
-var _6a=Xinha.collectionToArray(this.rootElem.getElementsByTagName("input")).append(Xinha.collectionToArray(this.rootElem.getElementsByTagName("textarea"))).append(Xinha.collectionToArray(this.rootElem.getElementsByTagName("select")));
-for(var x=0;x<_6a.length;x++){
-var i=_6a[x];
-if(!(i.name&&this.r_id[i.name])){
-continue;
-}
-if(typeof _69[this.r_id[i.name]]=="undefined"){
-_69[this.r_id[i.name]]=null;
-}
-var v=_69[this.r_id[i.name]];
-switch(i.tagName.toLowerCase()){
-case "select":
-if(i.multiple){
-if(!v.push){
-if(v!==null){
-v=[v];
-}else{
-v=[];
-}
-}
-for(var j=0;j<i.options.length;j++){
-if(i.options[j].selected){
-v.push(i.options[j].value);
-}
-}
-}else{
-if(i.selectedIndex>=0){
-v=i.options[i.selectedIndex];
-}
-}
-break;
-default:
-switch(i.type.toLowerCase()){
-case "radio":
-if(i.checked){
-v=i.value;
-}
-break;
-case "checkbox":
-if(v===null){
-if(this.getElementsByName(this.r_id[i.name]).length>1){
-v=[];
-}
-}
-if(i.checked){
-if(v!==null&&typeof v=="object"&&v.push){
-v.push(i.value);
-}else{
-v=i.value;
-}
-}
-break;
-default:
-v=i.value;
-break;
-}
-}
-_69[this.r_id[i.name]]=v;
-}
-return _69;
-};
-Xinha.Dialog.prototype.setLocalizer=function(_6f){
-var _70=this;
-if(typeof _6f=="function"){
-_70._lc=_6f;
-}else{
-if(_6f){
-this._lc=function(_71){
-return Xinha._lc(_71,_6f);
-};
-}else{
-this._lc=function(_72){
-return _72;
-};
-}
-}
-};
-Xinha.Dialog.prototype.translateHtml=function(_73,_74){
-var _75=this;
-if(_74){
-this.setLocalizer(_74);
-}
-_73=_73.replace(/((?:name)|(?:id))=(['"])\[([a-z0-9_]+)\]\2/ig,function(_76,_77,_78,id){
-return _77+"="+_78+_75.createId(id)+_78;
-}).replace(/<l10n>(.*?)<\/l10n>/ig,function(_7a,_7b){
-return _75._lc(_7b);
-}).replace(/\="_\((.*?)\)"/g,function(_7c,_7d){
-return "=\""+_75._lc(_7d)+"\"";
-});
-return _73;
-};
-Xinha.Dialog.prototype.fixupDOM=function(_7e,_7f){
-var _80=this;
-if(typeof _7f!="string"){
-_7f="GenericPlugin";
-}
-var _81=function(_82,_83){
-switch(_83){
-case "editor":
-return _editor_url;
-case "plugin":
-return Xinha.getPluginDir(_7f);
-case "images":
-return _80.editor.imgURL("images");
-}
-};
-var _84=Xinha.collectionToArray(_7e.getElementsByTagName("img"));
-for(var _85=0;_85<_84.length;++_85){
-var _86=_84[_85];
-var _87=_86.getAttribute("src");
-if(_87){
-var _88=_87.replace(/^\[(editor|plugin|images)\]/,_81);
-if(_88!=_87){
-_86.setAttribute("src",_88);
-}
-}
-}
-var _89=Xinha.collectionToArray(_7e.getElementsByTagName("a"));
-for(var _85=0;_85<_89.length;++_85){
-var _8a=_89[_85];
-var _87=_8a.getAttribute("href");
-if(_87){
-var _88=_87.replace(/^\[(editor|plugin|images)\]/,_81);
-if(_88!=_87){
-_8a.setAttribute("href",_88);
-}
-}
-}
-};
-Xinha.Dialog.prototype.createId=function(id){
-var _8c=this;
-if(typeof _8c.id[id]=="undefined"){
-_8c.id[id]=Xinha.uniq("Dialog");
-_8c.r_id[_8c.id[id]]=id;
-}
-return _8c.id[id];
-};
-Xinha.Dialog.activateModeless=function(_8d){
-if(Xinha.Dialog.activeModeless==_8d||_8d.attached){
-return;
-}
-if(Xinha.Dialog.activeModeless){
-Xinha.Dialog.activeModeless.rootElem.style.zIndex=parseInt(Xinha.Dialog.activeModeless.rootElem.style.zIndex,10)-10;
-}
-Xinha.Dialog.activeModeless=_8d;
-Xinha.Dialog.activeModeless.rootElem.style.zIndex=parseInt(Xinha.Dialog.activeModeless.rootElem.style.zIndex,10)+10;
-};
-Xinha.Dialog.setOpacity=function(el,_8f){
-if(typeof el.style.filter!="undefined"){
-el.style.filter=(_8f<100)?"alpha(opacity="+_8f+")":"";
-}else{
-el.style.opacity=_8f/100;
-}
-};
-Xinha.Dialog.fadeIn=function(el,_91,_92,_93,_94){
-_93=_93||1;
-_94=_94||25;
-_91=_91||100;
-el.op=el.op||0;
-var op=el.op;
-if(el.style.display=="none"){
-Xinha.Dialog.setOpacity(el,0);
-el.style.display="";
-}
-if(op<_91){
-el.op+=_94;
-Xinha.Dialog.setOpacity(el,op);
-el.timeOut=setTimeout(function(){
-Xinha.Dialog.fadeIn(el,_91,_92,_93,_94);
-},_93);
-}else{
-Xinha.Dialog.setOpacity(el,_91);
-el.op=_91;
-el.timeOut=null;
-if(typeof _92=="function"){
-_92.call();
-}
-}
-};
-Xinha.Dialog.fadeOut=function(el,_97,_98){
-_97=_97||1;
-_98=_98||30;
-if(typeof el.op=="undefined"){
-el.op=100;
-}
-var op=el.op;
-if(op>=0){
-el.op-=_98;
-Xinha.Dialog.setOpacity(el,op);
-el.timeOut=setTimeout(function(){
-Xinha.Dialog.fadeOut(el,_97,_98);
-},_97);
-}else{
-Xinha.Dialog.setOpacity(el,0);
-el.style.display="none";
-el.op=0;
-el.timeOut=null;
-}
-};
-
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/Dialogs/dialog.js b/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/Dialogs/dialog.js
deleted file mode 100644
index 41f4a4a..0000000
--- a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/Dialogs/dialog.js
+++ /dev/null
@@ -1,74 +0,0 @@
-/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */
-/* The URL of the most recent version of this file is http://svn.xinha.org/trunk/modules/Dialogs/dialog.js */
-function Dialog(_1,_2,_3){
-if(typeof _3=="undefined"){
-_3=window;
-}
-if(typeof window.showModalDialog=="function"&&!Xinha.is_webkit){
-Dialog._return=function(_4){
-if(typeof _2=="function"){
-_2(_4);
-}
-};
-var r=window.showModalDialog(_1,_3,"dialogheight=300;dialogwidth=400;resizable=yes");
-}else{
-Dialog._geckoOpenModal(_1,_2,_3);
-}
-};
-Dialog._parentEvent=function(ev){
-setTimeout(function(){
-if(Dialog._modal&&!Dialog._modal.closed){
-Dialog._modal.focus();
-}
-},50);
-try{
-if(Dialog._modal&&!Dialog._modal.closed){
-Xinha._stopEvent(ev);
-}
-}
-catch(e){
-}
-};
-Dialog._return=null;
-Dialog._modal=null;
-Dialog._arguments=null;
-Dialog._selection=null;
-Dialog._geckoOpenModal=function(_7,_8,_9){
-var _a=window.open(_7,"hadialog","toolbar=no,menubar=no,personalbar=no,width=10,height=10,"+"scrollbars=no,resizable=yes,modal=yes,dependable=yes");
-Dialog._modal=_a;
-Dialog._arguments=_9;
-function capwin(w){
-Xinha._addEvent(w,"click",Dialog._parentEvent);
-Xinha._addEvent(w,"mousedown",Dialog._parentEvent);
-Xinha._addEvent(w,"focus",Dialog._parentEvent);
-};
-function relwin(w){
-Xinha._removeEvent(w,"click",Dialog._parentEvent);
-Xinha._removeEvent(w,"mousedown",Dialog._parentEvent);
-Xinha._removeEvent(w,"focus",Dialog._parentEvent);
-};
-capwin(window);
-for(var i=0;i<window.frames.length;i++){
-try{
-capwin(window.frames[i]);
-}
-catch(e){
-}
-}
-Dialog._return=function(_e){
-if(_e&&_8){
-_8(_e);
-}
-relwin(window);
-for(var i=0;i<window.frames.length;i++){
-try{
-relwin(window.frames[i]);
-}
-catch(e){
-}
-}
-Dialog._modal=null;
-};
-Dialog._modal.focus();
-};
-
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/Dialogs/div-dialog.js b/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/Dialogs/div-dialog.js
deleted file mode 100644
index 1456834..0000000
--- a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/Dialogs/div-dialog.js
+++ /dev/null
@@ -1,26 +0,0 @@
-/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */
-/* The URL of the most recent version of this file is http://svn.xinha.org/trunk/modules/Dialogs/div-dialog.js */
-Xinha.DivDialog=function(_1,_2,_3){
-this.id={};
-this.r_id={};
-this.document=document;
-this.rootElem=_1;
-this.rootElem.className+=" dialog";
-this.rootElem.style.display="none";
-this.width=this.rootElem.offsetWidth+"px";
-this.height=this.rootElem.offsetHeight+"px";
-this.setLocalizer(_3);
-this.rootElem.innerHTML=this.translateHtml(_2);
-};
-Xinha.extend(Xinha.DivDialog,Xinha.Dialog);
-Xinha.DivDialog.prototype.show=function(_4){
-if(typeof _4!="undefined"){
-this.setValues(_4);
-}
-this.rootElem.style.display="";
-};
-Xinha.DivDialog.prototype.hide=function(){
-this.rootElem.style.display="none";
-return this.getValues();
-};
-
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/Dialogs/panel-dialog.js b/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/Dialogs/panel-dialog.js
deleted file mode 100644
index 3655e6c..0000000
--- a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/Dialogs/panel-dialog.js
+++ /dev/null
@@ -1,50 +0,0 @@
-/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */
-/* The URL of the most recent version of this file is http://svn.xinha.org/trunk/modules/Dialogs/panel-dialog.js */
-Xinha.PanelDialog=function(_1,_2,_3,_4){
-this.id={};
-this.r_id={};
-this.editor=_1;
-this.document=document;
-this.rootElem=_1.addPanel(_2);
-var _5=this;
-if(typeof _4=="function"){
-this._lc=_4;
-}else{
-if(_4){
-this._lc=function(_6){
-return Xinha._lc(_6,_4);
-};
-}else{
-this._lc=function(_7){
-return _7;
-};
-}
-}
-_3=_3.replace(/\[([a-z0-9_]+)\]/ig,function(_8,id){
-if(typeof _5.id[id]=="undefined"){
-_5.id[id]=Xinha.uniq("Dialog");
-_5.r_id[_5.id[id]]=id;
-}
-return _5.id[id];
-}).replace(/<l10n>(.*?)<\/l10n>/ig,function(_a,_b){
-return _5._lc(_b);
-}).replace(/="_\((.*?)\)"/g,function(_c,_d){
-return "=\""+_5._lc(_d)+"\"";
-});
-this.rootElem.innerHTML=_3;
-};
-Xinha.PanelDialog.prototype.show=function(_e){
-this.setValues(_e);
-this.editor.showPanel(this.rootElem);
-};
-Xinha.PanelDialog.prototype.hide=function(){
-this.editor.hidePanel(this.rootElem);
-return this.getValues();
-};
-Xinha.PanelDialog.prototype.onresize=Xinha.Dialog.prototype.onresize;
-Xinha.PanelDialog.prototype.toggle=Xinha.Dialog.prototype.toggle;
-Xinha.PanelDialog.prototype.setValues=Xinha.Dialog.prototype.setValues;
-Xinha.PanelDialog.prototype.getValues=Xinha.Dialog.prototype.getValues;
-Xinha.PanelDialog.prototype.getElementById=Xinha.Dialog.prototype.getElementById;
-Xinha.PanelDialog.prototype.getElementsByName=Xinha.Dialog.prototype.getElementsByName;
-
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/Dialogs/popupwin.js b/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/Dialogs/popupwin.js
deleted file mode 100644
index 16fa407..0000000
--- a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/Dialogs/popupwin.js
+++ /dev/null
@@ -1,122 +0,0 @@
-/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */
-/* The URL of the most recent version of this file is http://svn.xinha.org/trunk/modules/Dialogs/popupwin.js */
-function PopupWin(_1,_2,_3,_4){
-this.editor=_1;
-this.handler=_3;
-var _5=window.open("","__ha_dialog","toolbar=no,menubar=no,personalbar=no,width=600,height=600,left=20,top=40,scrollbars=no,resizable=yes");
-this.window=_5;
-var _6=_5.document;
-this.doc=_6;
-var _7=this;
-var _8=document.baseURI||document.URL;
-if(_8&&_8.match(/(.*)\/([^\/]+)/)){
-_8=RegExp.$1+"/";
-}
-if(typeof _editor_url!="undefined"&&!(/^\//.test(_editor_url))&&!(/http:\/\//.test(_editor_url))){
-_8+=_editor_url;
-}else{
-_8=_editor_url;
-}
-if(!(/\/$/.test(_8))){
-_8+="/";
-}
-this.baseURL=_8;
-_6.open();
-var _9="<html><head><title>"+_2+"</title>\n";
-_9+="<style type=\"text/css\">@import url("+_editor_url+"Xinha.css);</style>\n";
-if(_editor_skin!=""){
-_9+="<style type=\"text/css\">@import url("+_editor_url+"skins/"+_editor_skin+"/skin.css);</style>\n";
-}
-_9+="</head>\n";
-_9+="<body class=\"dialog popupwin\" id=\"--HA-body\"></body></html>";
-_6.write(_9);
-_6.close();
-function init2(){
-var _a=_6.body;
-if(!_a){
-setTimeout(init2,25);
-return false;
-}
-_5.title=_2;
-_6.documentElement.style.padding="0px";
-_6.documentElement.style.margin="0px";
-var _b=_6.createElement("div");
-_b.className="content";
-_7.content=_b;
-_a.appendChild(_b);
-_7.element=_a;
-_4(_7);
-_5.focus();
-};
-init2();
-};
-PopupWin.prototype.callHandler=function(){
-var _c=["input","textarea","select"];
-var _d={};
-for(var ti=_c.length;--ti>=0;){
-var _f=_c[ti];
-var els=this.content.getElementsByTagName(_f);
-for(var j=0;j<els.length;++j){
-var el=els[j];
-var val=el.value;
-if(el.tagName.toLowerCase()=="input"){
-if(el.type=="checkbox"){
-val=el.checked;
-}
-}
-_d[el.name]=val;
-}
-}
-this.handler(this,_d);
-return false;
-};
-PopupWin.prototype.close=function(){
-this.window.close();
-};
-PopupWin.prototype.addButtons=function(){
-var _14=this;
-var div=this.doc.createElement("div");
-this.content.appendChild(div);
-div.id="buttons";
-div.className="buttons";
-for(var i=0;i<arguments.length;++i){
-var btn=arguments[i];
-var _18=this.doc.createElement("button");
-div.appendChild(_18);
-_18.innerHTML=Xinha._lc(btn,"Xinha");
-switch(btn.toLowerCase()){
-case "ok":
-Xinha.addDom0Event(_18,"click",function(){
-_14.callHandler();
-_14.close();
-return false;
-});
-break;
-case "cancel":
-Xinha.addDom0Event(_18,"click",function(){
-_14.close();
-return false;
-});
-break;
-}
-}
-};
-PopupWin.prototype.showAtElement=function(){
-var _19=this;
-setTimeout(function(){
-var w=_19.content.offsetWidth+4;
-var h=_19.content.offsetHeight+4;
-var el=_19.content;
-var s=el.style;
-s.position="absolute";
-s.left=parseInt((w-el.offsetWidth)/2,10)+"px";
-s.top=parseInt((h-el.offsetHeight)/2,10)+"px";
-if(Xinha.is_gecko){
-_19.window.innerWidth=w;
-_19.window.innerHeight=h;
-}else{
-_19.window.resizeTo(w+8,h+70);
-}
-},25);
-};
-
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/FullScreen/full-screen.js b/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/FullScreen/full-screen.js
deleted file mode 100644
index 187e17d..0000000
--- a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/FullScreen/full-screen.js
+++ /dev/null
@@ -1,154 +0,0 @@
-/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */
-/* The URL of the most recent version of this file is http://svn.xinha.org/trunk/modules/FullScreen/full-screen.js */
-function FullScreen(_1,_2){
-this.editor=_1;
-this.originalSizes=null;
-_1._superclean_on=false;
-var _3=_1.config;
-_3.registerIcon("fullscreen",[_editor_url+_3.imgURL+"ed_buttons_main.png",8,0]);
-_3.registerIcon("fullscreenrestore",[_editor_url+_3.imgURL+"ed_buttons_main.png",9,0]);
-_3.registerButton("fullscreen",this._lc("Maximize/Minimize Editor"),_3.iconList.fullscreen,true,function(e,_5,_6){
-e._fullScreen();
-});
-_3.addToolbarElement("fullscreen","popupeditor",0);
-};
-FullScreen._pluginInfo={name:"FullScreen",version:"1.0",developer:"James Sleeman",developer_url:"http://www.gogo.co.nz/",c_owner:"Gogo Internet Services",license:"htmlArea",sponsor:"Gogo Internet Services",sponsor_url:"http://www.gogo.co.nz/"};
-FullScreen.prototype._lc=function(_7){
-return Xinha._lc(_7,{url:_editor_url+"modules/FullScreen/lang/",context:"FullScreen"});
-};
-Xinha.prototype._fullScreen=function(){
-var e=this;
-var _9=e.config;
-function sizeItUp(){
-if(!e._isFullScreen||e._sizing){
-return false;
-}
-e._sizing=true;
-var _a=Xinha.viewportSize();
-if(e.config.fullScreenSizeDownMethod=="restore"){
-e.originalSizes={x:parseInt(e._htmlArea.style.width),y:parseInt(e._htmlArea.style.height),dim:_a};
-}
-var h=_a.y-e.config.fullScreenMargins[0]-e.config.fullScreenMargins[2];
-var w=_a.x-e.config.fullScreenMargins[1]-e.config.fullScreenMargins[3];
-e.sizeEditor(w+"px",h+"px",true,true);
-e._sizing=false;
-if(e._toolbarObjects.fullscreen){
-e._toolbarObjects.fullscreen.swapImage(_9.iconList.fullscreenrestore);
-}
-};
-function sizeItDown(){
-if(e._isFullScreen||e._sizing){
-return false;
-}
-e._sizing=true;
-if(e.originalSizes!=null){
-var os=e.originalSizes;
-var _e=Xinha.viewportSize();
-var nW=os.x+(_e.x-os.dim.x);
-var nH=os.y+(_e.y-os.dim.y);
-e.sizeEditor(nW+"px",nH+"px",e.config.sizeIncludesBars,e.config.sizeIncludesPanels);
-e.originalSizes=null;
-}else{
-e.initSize();
-}
-e._sizing=false;
-if(e._toolbarObjects.fullscreen){
-e._toolbarObjects.fullscreen.swapImage(_9.iconList.fullscreen);
-}
-};
-function resetScroll(){
-if(e._isFullScreen){
-window.scroll(0,0);
-window.setTimeout(resetScroll,150);
-}
-};
-if(typeof this._isFullScreen=="undefined"){
-this._isFullScreen=false;
-if(e.target!=e._iframe){
-Xinha._addEvent(window,"resize",sizeItUp);
-}
-}
-if(Xinha.is_gecko){
-this.deactivateEditor();
-}
-if(this._isFullScreen){
-this._htmlArea.style.position="";
-if(!Xinha.is_ie){
-this._htmlArea.style.border="";
-}
-try{
-if(Xinha.is_ie&&document.compatMode=="CSS1Compat"){
-var bod=document.getElementsByTagName("html");
-}else{
-var bod=document.getElementsByTagName("body");
-}
-bod[0].style.overflow="";
-}
-catch(e){
-}
-this._isFullScreen=false;
-sizeItDown();
-var _12=this._htmlArea;
-while((_12=_12.parentNode)&&_12.style){
-_12.style.position=_12._xinha_fullScreenOldPosition;
-_12._xinha_fullScreenOldPosition=null;
-}
-if(Xinha.ie_version<7){
-var _13=document.getElementsByTagName("select");
-for(var i=0;i<_13.length;++i){
-_13[i].style.visibility="visible";
-}
-}
-window.scroll(this._unScroll.x,this._unScroll.y);
-}else{
-this._unScroll={x:(window.pageXOffset)?(window.pageXOffset):(document.documentElement)?document.documentElement.scrollLeft:document.body.scrollLeft,y:(window.pageYOffset)?(window.pageYOffset):(document.documentElement)?document.documentElement.scrollTop:document.body.scrollTop};
-var _12=this._htmlArea;
-while((_12=_12.parentNode)&&_12.style){
-_12._xinha_fullScreenOldPosition=_12.style.position;
-_12.style.position="static";
-}
-if(Xinha.ie_version<7){
-var _13=document.getElementsByTagName("select");
-var s,_16;
-for(var i=0;i<_13.length;++i){
-s=_13[i];
-_16=false;
-while(s=s.parentNode){
-if(s==this._htmlArea){
-_16=true;
-break;
-}
-}
-if(!_16&&_13[i].style.visibility!="hidden"){
-_13[i].style.visibility="hidden";
-}
-}
-}
-window.scroll(0,0);
-this._htmlArea.style.position="absolute";
-this._htmlArea.style.zIndex=999;
-this._htmlArea.style.left=e.config.fullScreenMargins[3]+"px";
-this._htmlArea.style.top=e.config.fullScreenMargins[0]+"px";
-if(!Xinha.is_ie&&!Xinha.is_webkit){
-this._htmlArea.style.border="none";
-}
-this._isFullScreen=true;
-resetScroll();
-try{
-if(Xinha.is_ie&&document.compatMode=="CSS1Compat"){
-var bod=document.getElementsByTagName("html");
-}else{
-var bod=document.getElementsByTagName("body");
-}
-bod[0].style.overflow="hidden";
-}
-catch(e){
-}
-sizeItUp();
-}
-if(Xinha.is_gecko){
-this.activateEditor();
-}
-this.focusEditor();
-};
-
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/FullScreen/lang/de.js b/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/FullScreen/lang/de.js
deleted file mode 100644
index 72ff5a3..0000000
--- a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/FullScreen/lang/de.js
+++ /dev/null
@@ -1,6 +0,0 @@
-// I18N constants
-// LANG: "de", ENCODING: UTF-8
-// translated: Raimund Meyer xinha@ray-of-light.org
-{
-  "Maximize/Minimize Editor": "Editor maximieren/verkleinern"
-};
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/FullScreen/lang/es.js b/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/FullScreen/lang/es.js
deleted file mode 100644
index 9303b69..0000000
--- a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/FullScreen/lang/es.js
+++ /dev/null
@@ -1,6 +0,0 @@
-// I18N constants
-// LANG: "es", ENCODING: UTF-8
-// translated: Derick Leony <dleony@gmail.com>
-{
-  "Maximize/Minimize Editor": "Maximizar/Minimizar Editor"
-};
\ No newline at end of file
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/FullScreen/lang/fr.js b/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/FullScreen/lang/fr.js
deleted file mode 100644
index af4b014..0000000
--- a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/FullScreen/lang/fr.js
+++ /dev/null
@@ -1,5 +0,0 @@
-// I18N constants
-// LANG: "fr", ENCODING: UTF-8
-{
-  "Maximize/Minimize Editor": "Agrandir/Réduire l'éditeur"
-};
\ No newline at end of file
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/FullScreen/lang/ja.js b/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/FullScreen/lang/ja.js
deleted file mode 100644
index f10c4da..0000000
--- a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/FullScreen/lang/ja.js
+++ /dev/null
@@ -1,5 +0,0 @@
-// I18N constants
-// LANG: "ja", ENCODING: UTF-8
-{
-  "Maximize/Minimize Editor": "エディタの最大化/最小化"
-};
\ No newline at end of file
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/FullScreen/lang/nb.js b/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/FullScreen/lang/nb.js
deleted file mode 100644
index aba7c2b..0000000
--- a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/FullScreen/lang/nb.js
+++ /dev/null
@@ -1,6 +0,0 @@
-// I18N constants
-// LANG: "nb", ENCODING: UTF-8
-// translated: Kim Steinhaug, http://www.steinhaug.com/, kim@steinhaug.com
-{
-  "Maximize/Minimize Editor": "Maksimer/Minimer WYSIWYG vindu"
-};
\ No newline at end of file
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/FullScreen/lang/nl.js b/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/FullScreen/lang/nl.js
deleted file mode 100644
index 4fcdc3f..0000000
--- a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/FullScreen/lang/nl.js
+++ /dev/null
@@ -1,6 +0,0 @@
-// I18N constants
-// LANG: "nl", ENCODING: UTF-8
-// translated: Arthur Bogaart a.bogaart@onehippo.org
-{
-  "Maximize/Minimize Editor": "Editor maximaliseren/verkleinen"
-};
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/FullScreen/lang/pl.js b/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/FullScreen/lang/pl.js
deleted file mode 100644
index 0c639bb..0000000
--- a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/FullScreen/lang/pl.js
+++ /dev/null
@@ -1,6 +0,0 @@
-// I18N constants
-// LANG: "pl", ENCODING: UTF-8
-// translated: Krzysztof Kotowicz, koto1sa@o2.pl, http://www.eskot.krakow.pl/portfolio
-{
-  "Maximize/Minimize Editor": "Maksymalizuj/minimalizuj edytor"
-};
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/FullScreen/lang/pt_br.js b/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/FullScreen/lang/pt_br.js
deleted file mode 100644
index 06e4812..0000000
--- a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/FullScreen/lang/pt_br.js
+++ /dev/null
@@ -1,18 +0,0 @@
-// I18N constants
-//
-// LANG: "pt_br", ENCODING: UTF-8
-// Portuguese Brazilian Translation
-//
-// Author: Marcio Barbosa, <marcio@mpg.com.br>
-// MSN: tomarshall@msn.com - ICQ: 69419933
-// Site: http://www.mpg.com.br
-//
-// Last revision: 06 september 2007
-// Please don´t remove this information
-// If you modify any source, please insert a comment with your name and e-mail
-//
-// Distributed under the same terms as HTMLArea itself.
-// This notice MUST stay intact for use (see license.txt).
-{
-  "Maximize/Minimize Editor": "Maximizar/Minimizar Editor"
-};
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/FullScreen/lang/ru.js b/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/FullScreen/lang/ru.js
deleted file mode 100644
index b2248ef..0000000
--- a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/FullScreen/lang/ru.js
+++ /dev/null
@@ -1,6 +0,0 @@
-// I18N constants

-// LANG: "ru", ENCODING: UTF-8

-// Author: Andrei Blagorazumov, a@fnr.ru

-{

-  "Maximize/Minimize Editor": "Развернуть/Свернуть редактор"

-};
\ No newline at end of file
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/FullScreen/lang/sv.js b/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/FullScreen/lang/sv.js
deleted file mode 100755
index c27fee5..0000000
--- a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/FullScreen/lang/sv.js
+++ /dev/null
@@ -1,6 +0,0 @@
-// I18N constants
-// LANG: "sv" (Swedish), ENCODING: UTF-8
-// translated: Erik Dalén, <dalen@jpl.se>
-{
-  "Maximize/Minimize Editor": "Maximera/Minimera WYSIWYG fönster"
-};
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/Gecko/Gecko.js b/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/Gecko/Gecko.js
deleted file mode 100644
index 45237c4..0000000
--- a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/Gecko/Gecko.js
+++ /dev/null
@@ -1,471 +0,0 @@
-/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */
-/* The URL of the most recent version of this file is http://svn.xinha.org/trunk/modules/Gecko/Gecko.js */
-Gecko._pluginInfo={name:"Gecko",origin:"Xinha Core",version:"$LastChangedRevision: 1084 $".replace(/^[^:]*:\s*(.*)\s*\$$/,"$1"),developer:"The Xinha Core Developer Team",developer_url:"$HeadURL: http://svn.xinha.org/tags/0.96.1/modules/Gecko/Gecko.js $".replace(/^[^:]*:\s*(.*)\s*\$$/,"$1"),sponsor:"",sponsor_url:"",license:"htmlArea"};
-function Gecko(_1){
-this.editor=_1;
-_1.Gecko=this;
-};
-Gecko.prototype.onKeyPress=function(ev){
-var _3=this.editor;
-var s=_3.getSelection();
-if(_3.isShortCut(ev)){
-switch(_3.getKey(ev).toLowerCase()){
-case "z":
-if(_3._unLink&&_3._unlinkOnUndo){
-Xinha._stopEvent(ev);
-_3._unLink();
-_3.updateToolbar();
-return true;
-}
-break;
-case "a":
-sel=_3.getSelection();
-sel.removeAllRanges();
-range=_3.createRange();
-range.selectNodeContents(_3._doc.body);
-sel.addRange(range);
-Xinha._stopEvent(ev);
-return true;
-break;
-case "v":
-if(!_3.config.htmlareaPaste){
-return true;
-}
-break;
-}
-}
-switch(_3.getKey(ev)){
-case " ":
-var _5=function(_6,_7){
-var _8=_6.nextSibling;
-if(typeof _7=="string"){
-_7=_3._doc.createElement(_7);
-}
-var a=_6.parentNode.insertBefore(_7,_8);
-Xinha.removeFromParent(_6);
-a.appendChild(_6);
-_8.data=" "+_8.data;
-s.collapse(_8,1);
-_3._unLink=function(){
-var t=a.firstChild;
-a.removeChild(t);
-a.parentNode.insertBefore(t,a);
-Xinha.removeFromParent(a);
-_3._unLink=null;
-_3._unlinkOnUndo=false;
-};
-_3._unlinkOnUndo=true;
-return a;
-};
-if(_3.config.convertUrlsToLinks&&s&&s.isCollapsed&&s.anchorNode.nodeType==3&&s.anchorNode.data.length>3&&s.anchorNode.data.indexOf(".")>=0){
-var _b=s.anchorNode.data.substring(0,s.anchorOffset).search(/\S{4,}$/);
-if(_b==-1){
-break;
-}
-if(_3._getFirstAncestor(s,"a")){
-break;
-}
-var _c=s.anchorNode.data.substring(0,s.anchorOffset).replace(/^.*?(\S*)$/,"$1");
-var _d=_c.match(Xinha.RE_email);
-if(_d){
-var _e=s.anchorNode;
-var _f=_e.splitText(s.anchorOffset);
-var _10=_e.splitText(_b);
-_5(_10,"a").href="mailto:"+_d[0];
-break;
-}
-RE_date=/([0-9]+\.)+/;
-RE_ip=/(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)/;
-var _11=_c.match(Xinha.RE_url);
-if(_11){
-if(RE_date.test(_c)){
-break;
-}
-var _12=s.anchorNode;
-var _13=_12.splitText(s.anchorOffset);
-var _14=_12.splitText(_b);
-_5(_14,"a").href=(_11[1]?_11[1]:"http://")+_11[2];
-break;
-}
-}
-break;
-}
-switch(ev.keyCode){
-case 27:
-if(_3._unLink){
-_3._unLink();
-Xinha._stopEvent(ev);
-}
-break;
-break;
-case 8:
-case 46:
-if(!ev.shiftKey&&this.handleBackspace()){
-Xinha._stopEvent(ev);
-}
-default:
-_3._unlinkOnUndo=false;
-if(s.anchorNode&&s.anchorNode.nodeType==3){
-var a=_3._getFirstAncestor(s,"a");
-if(!a){
-break;
-}
-if(!a._updateAnchTimeout){
-if(s.anchorNode.data.match(Xinha.RE_email)&&a.href.match("mailto:"+s.anchorNode.data.trim())){
-var _16=s.anchorNode;
-var _17=function(){
-a.href="mailto:"+_16.data.trim();
-a._updateAnchTimeout=setTimeout(_17,250);
-};
-a._updateAnchTimeout=setTimeout(_17,1000);
-break;
-}
-var m=s.anchorNode.data.match(Xinha.RE_url);
-if(m&&a.href.match(new RegExp("http(s)?://"+Xinha.escapeStringForRegExp(s.anchorNode.data.trim())))){
-var _19=s.anchorNode;
-var _1a=function(){
-m=_19.data.match(Xinha.RE_url);
-if(m){
-a.href=(m[1]?m[1]:"http://")+m[2];
-}
-a._updateAnchTimeout=setTimeout(_1a,250);
-};
-a._updateAnchTimeout=setTimeout(_1a,1000);
-}
-}
-}
-break;
-}
-return false;
-};
-Gecko.prototype.handleBackspace=function(){
-var _1b=this.editor;
-setTimeout(function(){
-var sel=_1b.getSelection();
-var _1d=_1b.createRange(sel);
-var SC=_1d.startContainer;
-var SO=_1d.startOffset;
-var EC=_1d.endContainer;
-var EO=_1d.endOffset;
-var _22=SC.nextSibling;
-if(SC.nodeType==3){
-SC=SC.parentNode;
-}
-if(!(/\S/.test(SC.tagName))){
-var p=document.createElement("p");
-while(SC.firstChild){
-p.appendChild(SC.firstChild);
-}
-SC.parentNode.insertBefore(p,SC);
-Xinha.removeFromParent(SC);
-var r=_1d.cloneRange();
-r.setStartBefore(_22);
-r.setEndAfter(_22);
-r.extractContents();
-sel.removeAllRanges();
-sel.addRange(r);
-}
-},10);
-};
-Gecko.prototype.inwardHtml=function(_25){
-_25=_25.replace(/<(\/?)strong(\s|>|\/)/ig,"<$1b$2");
-_25=_25.replace(/<(\/?)em(\s|>|\/)/ig,"<$1i$2");
-_25=_25.replace(/<(\/?)del(\s|>|\/)/ig,"<$1strike$2");
-return _25;
-};
-Gecko.prototype.outwardHtml=function(_26){
-_26=_26.replace(/<script[\s]*src[\s]*=[\s]*['"]chrome:\/\/.*?["']>[\s]*<\/script>/ig,"");
-return _26;
-};
-Gecko.prototype.onExecCommand=function(_27,UI,_29){
-try{
-this.editor._doc.execCommand("useCSS",false,true);
-this.editor._doc.execCommand("styleWithCSS",false,false);
-}
-catch(ex){
-}
-switch(_27){
-case "paste":
-alert(Xinha._lc("The Paste button does not work in Mozilla based web browsers (technical security reasons). Press CTRL-V on your keyboard to paste directly."));
-return true;
-break;
-case "removeformat":
-var _2a=this.editor;
-var sel=_2a.getSelection();
-var _2c=_2a.saveSelection(sel);
-var _2d=_2a.createRange(sel);
-var els=_2a._doc.body.getElementsByTagName("*");
-var _2f=(_2d.startContainer.nodeType==1)?_2d.startContainer:_2d.startContainer.parentNode;
-var i,el;
-if(sel.isCollapsed){
-_2d.selectNodeContents(_2a._doc.body);
-}
-for(i=0;i<els.length;i++){
-el=els[i];
-if(_2d.isPointInRange(el,0)||(els[i]==_2f&&_2d.startOffset==0)){
-el.removeAttribute("style");
-}
-}
-this.editor._doc.execCommand(_27,UI,_29);
-_2a.restoreSelection(_2c);
-return true;
-break;
-}
-return false;
-};
-Gecko.prototype.onMouseDown=function(ev){
-if(ev.target.tagName.toLowerCase()=="hr"){
-var sel=this.editor.getSelection();
-var _34=this.editor.createRange(sel);
-_34.selectNode(ev.target);
-}
-};
-Xinha.prototype.insertNodeAtSelection=function(_35){
-if(_35.ownerDocument!=this._doc){
-try{
-_35=this._doc.adoptNode(_35);
-}
-catch(e){
-}
-}
-var sel=this.getSelection();
-var _37=this.createRange(sel);
-sel.removeAllRanges();
-_37.deleteContents();
-var _38=_37.startContainer;
-var pos=_37.startOffset;
-var _3a=_35;
-switch(_38.nodeType){
-case 3:
-if(_35.nodeType==3){
-_38.insertData(pos,_35.data);
-_37=this.createRange();
-_37.setEnd(_38,pos+_35.length);
-_37.setStart(_38,pos+_35.length);
-sel.addRange(_37);
-}else{
-_38=_38.splitText(pos);
-if(_35.nodeType==11){
-_3a=_3a.firstChild;
-}
-_38.parentNode.insertBefore(_35,_38);
-this.selectNodeContents(_3a);
-this.updateToolbar();
-}
-break;
-case 1:
-if(_35.nodeType==11){
-_3a=_3a.firstChild;
-}
-_38.insertBefore(_35,_38.childNodes[pos]);
-this.selectNodeContents(_3a);
-this.updateToolbar();
-break;
-}
-};
-Xinha.prototype.getParentElement=function(sel){
-if(typeof sel=="undefined"){
-sel=this.getSelection();
-}
-var _3c=this.createRange(sel);
-try{
-var p=_3c.commonAncestorContainer;
-if(!_3c.collapsed&&_3c.startContainer==_3c.endContainer&&_3c.startOffset-_3c.endOffset<=1&&_3c.startContainer.hasChildNodes()){
-p=_3c.startContainer.childNodes[_3c.startOffset];
-}
-while(p.nodeType==3){
-p=p.parentNode;
-}
-return p;
-}
-catch(ex){
-return null;
-}
-};
-Xinha.prototype.activeElement=function(sel){
-if((sel===null)||this.selectionEmpty(sel)){
-return null;
-}
-if(!sel.isCollapsed){
-if(sel.anchorNode.childNodes.length>sel.anchorOffset&&sel.anchorNode.childNodes[sel.anchorOffset].nodeType==1){
-return sel.anchorNode.childNodes[sel.anchorOffset];
-}else{
-if(sel.anchorNode.nodeType==1){
-return sel.anchorNode;
-}else{
-return null;
-}
-}
-}
-return null;
-};
-Xinha.prototype.selectionEmpty=function(sel){
-if(!sel){
-return true;
-}
-if(typeof sel.isCollapsed!="undefined"){
-return sel.isCollapsed;
-}
-return true;
-};
-Xinha.prototype.saveSelection=function(){
-return this.createRange(this.getSelection()).cloneRange();
-};
-Xinha.prototype.restoreSelection=function(_40){
-try{
-var sel=this.getSelection();
-sel.removeAllRanges();
-sel.addRange(_40);
-}
-catch(e){
-}
-};
-Xinha.prototype.selectNodeContents=function(_42,_43){
-this.focusEditor();
-this.forceRedraw();
-var _44;
-var _45=typeof _43=="undefined"?true:false;
-var sel=this.getSelection();
-_44=this._doc.createRange();
-if(!_42){
-sel.removeAllRanges();
-return;
-}
-if(_45&&_42.tagName&&_42.tagName.toLowerCase().match(/table|img|input|textarea|select/)){
-_44.selectNode(_42);
-}else{
-_44.selectNodeContents(_42);
-}
-sel.removeAllRanges();
-sel.addRange(_44);
-if(typeof _43!="undefined"){
-if(_43){
-sel.collapse(_44.startContainer,_44.startOffset);
-}else{
-sel.collapse(_44.endContainer,_44.endOffset);
-}
-}
-};
-Xinha.prototype.insertHTML=function(_47){
-var sel=this.getSelection();
-var _49=this.createRange(sel);
-this.focusEditor();
-var _4a=this._doc.createDocumentFragment();
-var div=this._doc.createElement("div");
-div.innerHTML=_47;
-while(div.firstChild){
-_4a.appendChild(div.firstChild);
-}
-var _4c=this.insertNodeAtSelection(_4a);
-};
-Xinha.prototype.getSelectedHTML=function(){
-var sel=this.getSelection();
-if(sel.isCollapsed){
-return "";
-}
-var _4e=this.createRange(sel);
-return Xinha.getHTML(_4e.cloneContents(),false,this);
-};
-Xinha.prototype.getSelection=function(){
-return this._iframe.contentWindow.getSelection();
-};
-Xinha.prototype.createRange=function(sel){
-this.activateEditor();
-if(typeof sel!="undefined"){
-try{
-return sel.getRangeAt(0);
-}
-catch(ex){
-return this._doc.createRange();
-}
-}else{
-return this._doc.createRange();
-}
-};
-Xinha.prototype.isKeyEvent=function(_50){
-return _50.type=="keypress";
-};
-Xinha.prototype.getKey=function(_51){
-return String.fromCharCode(_51.charCode);
-};
-Xinha.getOuterHTML=function(_52){
-return (new XMLSerializer()).serializeToString(_52);
-};
-Xinha.cc=String.fromCharCode(8286);
-Xinha.prototype.setCC=function(_53){
-var cc=Xinha.cc;
-try{
-if(_53=="textarea"){
-var ta=this._textArea;
-var _56=ta.selectionStart;
-var _57=ta.value.substring(0,_56);
-var _58=ta.value.substring(_56,ta.value.length);
-if(_58.match(/^[^<]*>/)){
-var _59=_58.indexOf(">")+1;
-ta.value=_57+_58.substring(0,_59)+cc+_58.substring(_59,_58.length);
-}else{
-ta.value=_57+cc+_58;
-}
-ta.value=ta.value.replace(new RegExp("(&[^"+cc+"]*?)("+cc+")([^"+cc+"]*?;)"),"$1$3$2");
-ta.value=ta.value.replace(new RegExp("(<script[^>]*>[^"+cc+"]*?)("+cc+")([^"+cc+"]*?</script>)"),"$1$3$2");
-ta.value=ta.value.replace(new RegExp("^([^"+cc+"]*)("+cc+")([^"+cc+"]*<body[^>]*>)(.*?)"),"$1$3$2$4");
-}else{
-var sel=this.getSelection();
-sel.getRangeAt(0).insertNode(this._doc.createTextNode(cc));
-}
-}
-catch(e){
-}
-};
-Xinha.prototype.findCC=function(_5b){
-if(_5b=="textarea"){
-var ta=this._textArea;
-var pos=ta.value.indexOf(Xinha.cc);
-if(pos==-1){
-return;
-}
-var end=pos+Xinha.cc.length;
-var _5f=ta.value.substring(0,pos);
-var _60=ta.value.substring(end,ta.value.length);
-ta.value=_5f;
-ta.scrollTop=ta.scrollHeight;
-var _61=ta.scrollTop;
-ta.value+=_60;
-ta.setSelectionRange(pos,pos);
-ta.focus();
-ta.scrollTop=_61;
-}else{
-try{
-var doc=this._doc;
-doc.body.innerHTML=doc.body.innerHTML.replace(new RegExp(Xinha.cc),"<span id=\"XinhaEditingPostion\"></span>");
-var _63=doc.getElementById("XinhaEditingPostion");
-this.selectNodeContents(_63);
-this.scrollToElement(_63);
-_63.parentNode.removeChild(_63);
-this._iframe.contentWindow.focus();
-}
-catch(e){
-}
-}
-};
-Xinha.prototype._standardToggleBorders=Xinha.prototype._toggleBorders;
-Xinha.prototype._toggleBorders=function(){
-var _64=this._standardToggleBorders();
-var _65=this._doc.getElementsByTagName("TABLE");
-for(var i=0;i<_65.length;i++){
-_65[i].style.display="none";
-_65[i].style.display="table";
-}
-return _64;
-};
-Xinha.getDoctype=function(doc){
-var d="";
-if(doc.doctype){
-d+="<!DOCTYPE "+doc.doctype.name+" PUBLIC ";
-d+=doc.doctype.publicId?"\""+doc.doctype.publicId+"\"":"";
-d+=doc.doctype.systemId?" \""+doc.doctype.systemId+"\"":"";
-d+=">";
-}
-return d;
-};
-
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/Gecko/paraHandlerBest.js b/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/Gecko/paraHandlerBest.js
deleted file mode 100644
index aa57a7d..0000000
--- a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/Gecko/paraHandlerBest.js
+++ /dev/null
@@ -1,295 +0,0 @@
-/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */
-/* The URL of the most recent version of this file is http://svn.xinha.org/trunk/modules/Gecko/paraHandlerBest.js */
-EnterParagraphs._pluginInfo={name:"EnterParagraphs",version:"1.0",developer:"Adam Wright",developer_url:"http://www.hipikat.org/",sponsor:"The University of Western Australia",sponsor_url:"http://www.uwa.edu.au/",license:"htmlArea"};
-EnterParagraphs.prototype._whiteSpace=/^\s*$/;
-EnterParagraphs.prototype._pExclusions=/^(address|blockquote|body|dd|div|dl|dt|fieldset|form|h1|h2|h3|h4|h5|h6|hr|li|noscript|ol|p|pre|table|ul)$/i;
-EnterParagraphs.prototype._pContainers=/^(body|del|div|fieldset|form|ins|map|noscript|object|td|th)$/i;
-EnterParagraphs.prototype._pBreak=/^(address|pre|blockquote)$/i;
-EnterParagraphs.prototype._permEmpty=/^(area|base|basefont|br|col|frame|hr|img|input|isindex|link|meta|param)$/i;
-EnterParagraphs.prototype._elemSolid=/^(applet|br|button|hr|img|input|table)$/i;
-EnterParagraphs.prototype._pifySibling=/^(address|blockquote|del|div|dl|fieldset|form|h1|h2|h3|h4|h5|h6|hr|ins|map|noscript|object|ol|p|pre|table|ul|)$/i;
-EnterParagraphs.prototype._pifyForced=/^(ul|ol|dl|table)$/i;
-EnterParagraphs.prototype._pifyParent=/^(dd|dt|li|td|th|tr)$/i;
-function EnterParagraphs(_1){
-this.editor=_1;
-if(Xinha.is_gecko){
-this.onKeyPress=this.__onKeyPress;
-}
-};
-EnterParagraphs.prototype.name="EnterParagraphs";
-EnterParagraphs.prototype.insertAdjacentElement=function(_2,_3,el){
-if(_3=="BeforeBegin"){
-_2.parentNode.insertBefore(el,_2);
-}else{
-if(_3=="AfterEnd"){
-_2.nextSibling?_2.parentNode.insertBefore(el,_2.nextSibling):_2.parentNode.appendChild(el);
-}else{
-if(_3=="AfterBegin"&&_2.firstChild){
-_2.insertBefore(el,_2.firstChild);
-}else{
-if(_3=="BeforeEnd"||_3=="AfterBegin"){
-_2.appendChild(el);
-}
-}
-}
-}
-};
-EnterParagraphs.prototype.forEachNodeUnder=function(_5,_6,_7,_8){
-var _9,_a;
-if(_5.nodeType==11&&_5.firstChild){
-_9=_5.firstChild;
-_a=_5.lastChild;
-}else{
-_9=_a=_5;
-}
-while(_a.lastChild){
-_a=_a.lastChild;
-}
-return this.forEachNode(_9,_a,_6,_7,_8);
-};
-EnterParagraphs.prototype.forEachNode=function(_b,_c,_d,_e,_f){
-var _10=function(_11,_12){
-return (_12=="ltr"?_11.nextSibling:_11.previousSibling);
-};
-var _13=function(_14,_15){
-return (_15=="ltr"?_14.firstChild:_14.lastChild);
-};
-var _16,_17,_18;
-var _19=_f;
-var _1a=false;
-while(_16!=_e=="ltr"?_c:_b){
-if(!_16){
-_16=_e=="ltr"?_b:_c;
-}else{
-if(_13(_16,_e)){
-_16=_13(_16,_e);
-}else{
-if(_10(_16,_e)){
-_16=_10(_16,_e);
-}else{
-_17=_16;
-while(!_10(_17,_e)&&_17!=(_e=="ltr"?_c:_b)){
-_17=_17.parentNode;
-}
-_16=(_10(_17,_e)?_10(_17,_e):_17);
-}
-}
-}
-_1a=(_16==(_e=="ltr"?_c:_b));
-switch(_d){
-case "cullids":
-_18=this._fenCullIds(_16,_19);
-break;
-case "find_fill":
-_18=this._fenEmptySet(_16,_19,_d,_1a);
-break;
-case "find_cursorpoint":
-_18=this._fenEmptySet(_16,_19,_d,_1a);
-break;
-}
-if(_18[0]){
-return _18[1];
-}
-if(_1a){
-break;
-}
-if(_18[1]){
-_19=_18[1];
-}
-}
-return false;
-};
-EnterParagraphs.prototype._fenEmptySet=function(_1b,_1c,_1d,_1e){
-if(!_1c&&!_1b.firstChild){
-_1c=_1b;
-}
-if((_1b.nodeType==1&&this._elemSolid.test(_1b.nodeName))||(_1b.nodeType==3&&!this._whiteSpace.test(_1b.nodeValue))||(_1b.nodeType!=1&&_1b.nodeType!=3)){
-switch(_1d){
-case "find_fill":
-return new Array(true,false);
-break;
-case "find_cursorpoint":
-return new Array(true,_1b);
-break;
-}
-}
-if(_1e){
-return new Array(true,_1c);
-}
-return new Array(false,_1c);
-};
-EnterParagraphs.prototype._fenCullIds=function(_1f,_20,_21){
-if(_20.id){
-_21[_20.id]?_20.id="":_21[_20.id]=true;
-}
-return new Array(false,_21);
-};
-EnterParagraphs.prototype.processSide=function(rng,_23){
-var _24=function(_25,_26){
-return (_26=="left"?_25.previousSibling:_25.nextSibling);
-};
-var _27=_23=="left"?rng.startContainer:rng.endContainer;
-var _28=_23=="left"?rng.startOffset:rng.endOffset;
-var _29,_2a=_27;
-while(_2a.nodeType==1&&!this._permEmpty.test(_2a.nodeName)){
-_2a=(_28?_2a.lastChild:_2a.firstChild);
-}
-while(_29=_29?(_24(_29,_23)?_24(_29,_23):_29.parentNode):_2a){
-if(_24(_29,_23)){
-if(this._pExclusions.test(_24(_29,_23).nodeName)){
-return this.processRng(rng,_23,_29,_24(_29,_23),(_23=="left"?"AfterEnd":"BeforeBegin"),true,false);
-}
-}else{
-if(this._pContainers.test(_29.parentNode.nodeName)){
-return this.processRng(rng,_23,_29,_29.parentNode,(_23=="left"?"AfterBegin":"BeforeEnd"),true,false);
-}else{
-if(this._pExclusions.test(_29.parentNode.nodeName)){
-if(this._pBreak.test(_29.parentNode.nodeName)){
-return this.processRng(rng,_23,_29,_29.parentNode,(_23=="left"?"AfterBegin":"BeforeEnd"),false,(_23=="left"?true:false));
-}else{
-return this.processRng(rng,_23,(_29=_29.parentNode),(_24(_29,_23)?_24(_29,_23):_29.parentNode),(_24(_29,_23)?(_23=="left"?"AfterEnd":"BeforeBegin"):(_23=="left"?"AfterBegin":"BeforeEnd")),false,false);
-}
-}
-}
-}
-}
-};
-EnterParagraphs.prototype.processRng=function(rng,_2c,_2d,_2e,_2f,_30,_31){
-var _32=_2c=="left"?rng.startContainer:rng.endContainer;
-var _33=_2c=="left"?rng.startOffset:rng.endOffset;
-var _34=this.editor;
-var _35=_34._doc.createRange();
-_35.selectNode(_2d);
-if(_2c=="left"){
-_35.setEnd(_32,_33);
-rng.setStart(_35.startContainer,_35.startOffset);
-}else{
-if(_2c=="right"){
-_35.setStart(_32,_33);
-rng.setEnd(_35.endContainer,_35.endOffset);
-}
-}
-var cnt=_35.cloneContents();
-this.forEachNodeUnder(cnt,"cullids","ltr",this.takenIds,false,false);
-var _37,_38,_39;
-_37=_2c=="left"?(_35.endContainer.nodeType==3?true:false):(_35.startContainer.nodeType==3?false:true);
-_38=_37?_35.startOffset:_35.endOffset;
-_37=_37?_35.startContainer:_35.endContainer;
-if(this._pifyParent.test(_37.nodeName)&&_37.parentNode.childNodes.item(0)==_37){
-while(!this._pifySibling.test(_37.nodeName)){
-_37=_37.parentNode;
-}
-}
-if(cnt.nodeType==11&&!cnt.firstChild){
-if(_37.nodeName!="BODY"||(_37.nodeName=="BODY"&&_38!=0)){
-cnt.appendChild(_34._doc.createElement(_37.nodeName));
-}
-}
-_39=this.forEachNodeUnder(cnt,"find_fill","ltr",false);
-if(_39&&this._pifySibling.test(_37.nodeName)&&((_38==0)||(_38==1&&this._pifyForced.test(_37.nodeName)))){
-_2d=_34._doc.createElement("p");
-_2d.innerHTML="&nbsp;";
-if((_2c=="left")&&_37.previousSibling){
-return new Array(_37.previousSibling,"AfterEnd",_2d);
-}else{
-if((_2c=="right")&&_37.nextSibling){
-return new Array(_37.nextSibling,"BeforeBegin",_2d);
-}else{
-return new Array(_37.parentNode,(_2c=="left"?"AfterBegin":"BeforeEnd"),_2d);
-}
-}
-}
-if(_39){
-if(_39.nodeType==3){
-_39=_34._doc.createDocumentFragment();
-}
-if((_39.nodeType==1&&!this._elemSolid.test())||_39.nodeType==11){
-var _3a=_34._doc.createElement("p");
-_3a.innerHTML="&nbsp;";
-_39.appendChild(_3a);
-}else{
-var _3a=_34._doc.createElement("p");
-_3a.innerHTML="&nbsp;";
-_39.parentNode.insertBefore(parentNode,_39);
-}
-}
-if(_39){
-_2d=_39;
-}else{
-_2d=(_30||(cnt.nodeType==11&&!cnt.firstChild))?_34._doc.createElement("p"):_34._doc.createDocumentFragment();
-_2d.appendChild(cnt);
-}
-if(_31){
-_2d.appendChild(_34._doc.createElement("br"));
-}
-return new Array(_2e,_2f,_2d);
-};
-EnterParagraphs.prototype.isNormalListItem=function(rng){
-var _3c,_3d;
-_3c=rng.startContainer;
-if((typeof _3c.nodeName!="undefined")&&(_3c.nodeName.toLowerCase()=="li")){
-_3d=_3c;
-}else{
-if((typeof _3c.parentNode!="undefined")&&(typeof _3c.parentNode.nodeName!="undefined")&&(_3c.parentNode.nodeName.toLowerCase()=="li")){
-_3d=_3c.parentNode;
-}else{
-return false;
-}
-}
-if(!_3d.previousSibling){
-if(rng.startOffset==0){
-return false;
-}
-}
-return true;
-};
-EnterParagraphs.prototype.__onKeyPress=function(ev){
-if(ev.keyCode==13&&!ev.shiftKey&&this.editor._iframe.contentWindow.getSelection){
-return this.handleEnter(ev);
-}
-};
-EnterParagraphs.prototype.handleEnter=function(ev){
-var _40;
-var sel=this.editor.getSelection();
-var rng=this.editor.createRange(sel);
-if(this.isNormalListItem(rng)){
-return true;
-}
-this.takenIds=new Object();
-var _43=this.processSide(rng,"left");
-var _44=this.processSide(rng,"right");
-_40=_44[2];
-sel.removeAllRanges();
-rng.deleteContents();
-var _45=this.forEachNodeUnder(_40,"find_cursorpoint","ltr",false,true);
-if(!_45){
-alert("INTERNAL ERROR - could not find place to put cursor after ENTER");
-}
-if(_43){
-this.insertAdjacentElement(_43[0],_43[1],_43[2]);
-}
-if(_44&&_44.nodeType!=1){
-this.insertAdjacentElement(_44[0],_44[1],_44[2]);
-}
-if((_45)&&(this._permEmpty.test(_45.nodeName))){
-var _46=0;
-while(_45.parentNode.childNodes.item(_46)!=_45){
-_46++;
-}
-sel.collapse(_45.parentNode,_46);
-}else{
-try{
-sel.collapse(_45,0);
-if(_45.nodeType==3){
-_45=_45.parentNode;
-}
-this.editor.scrollToElement(_45);
-}
-catch(e){
-}
-}
-this.editor.updateToolbar();
-Xinha._stopEvent(ev);
-return true;
-};
-
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/GetHtml/DOMwalk.js b/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/GetHtml/DOMwalk.js
deleted file mode 100644
index f436ae0..0000000
--- a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/GetHtml/DOMwalk.js
+++ /dev/null
@@ -1,197 +0,0 @@
-/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */
-/* The URL of the most recent version of this file is http://svn.xinha.org/trunk/modules/GetHtml/DOMwalk.js */
-function GetHtmlImplementation(_1){
-this.editor=_1;
-};
-GetHtmlImplementation._pluginInfo={name:"GetHtmlImplementation DOMwalk",origin:"Xinha Core",version:"$LastChangedRevision: 1185 $".replace(/^[^:]*:\s*(.*)\s*\$$/,"$1"),developer:"The Xinha Core Developer Team",developer_url:"$HeadURL: http://svn.xinha.org/tags/0.96.1/modules/GetHtml/DOMwalk.js $".replace(/^[^:]*:\s*(.*)\s*\$$/,"$1"),sponsor:"",sponsor_url:"",license:"htmlArea"};
-Xinha.getHTML=function(_2,_3,_4){
-return Xinha.getHTMLWrapper(_2,_3,_4);
-};
-Xinha.emptyAttributes=" checked disabled ismap readonly nowrap compact declare selected defer multiple noresize noshade ";
-Xinha.getHTMLWrapper=function(_5,_6,_7,_8){
-var _9="";
-if(!_8){
-_8="";
-}
-switch(_5.nodeType){
-case 10:
-case 6:
-case 12:
-break;
-case 2:
-break;
-case 4:
-_9+=(Xinha.is_ie?("\n"+_8):"")+"<![CDATA["+_5.data+"]]>";
-break;
-case 5:
-_9+="&"+_5.nodeValue+";";
-break;
-case 7:
-_9+=(Xinha.is_ie?("\n"+_8):"")+"<"+"?"+_5.target+" "+_5.data+" ?>";
-break;
-case 1:
-case 11:
-case 9:
-var _a;
-var i;
-var _c=(_5.nodeType==1)?_5.tagName.toLowerCase():"";
-if((_c=="script"||_c=="noscript")&&_7.config.stripScripts){
-break;
-}
-if(_6){
-_6=!(_7.config.htmlRemoveTags&&_7.config.htmlRemoveTags.test(_c));
-}
-if(Xinha.is_ie&&_c=="head"){
-if(_6){
-_9+=(Xinha.is_ie?("\n"+_8):"")+"<head>";
-}
-var _d=RegExp.multiline;
-RegExp.multiline=true;
-var _e=_5.innerHTML.replace(Xinha.RE_tagName,function(_f,p1,p2){
-return p1+p2.toLowerCase();
-}).replace(/\s*=\s*(([^'"][^>\s]*)([>\s])|"([^"]+)"|'([^']+)')/g,"=\"$2$4$5\"$3").replace(/<(link|meta)((\s*\S*="[^"]*")*)>([\n\r]*)/g,"<$1$2 />\n");
-RegExp.multiline=_d;
-_9+=_e+"\n";
-if(_6){
-_9+=(Xinha.is_ie?("\n"+_8):"")+"</head>";
-}
-break;
-}else{
-if(_6){
-_a=(!(_5.hasChildNodes()||Xinha.needsClosingTag(_5)));
-_9+=((Xinha.isBlockElement(_5))?("\n"+_8):"")+"<"+_5.tagName.toLowerCase();
-var _12=_5.attributes;
-for(i=0;i<_12.length;++i){
-var a=_12.item(i);
-if(Xinha.is_real_gecko&&(_5.tagName.toLowerCase()=="img")&&((a.nodeName.toLowerCase()=="height")||(a.nodeName.toLowerCase()=="width"))){
-if(!_5.complete||_5.naturalWidth===0){
-continue;
-}
-}
-if(typeof a.nodeValue=="object"){
-continue;
-}
-if(_5.tagName.toLowerCase()=="input"&&_5.type.toLowerCase()=="checkbox"&&a.nodeName.toLowerCase()=="value"&&a.nodeValue.toLowerCase()=="on"){
-continue;
-}
-if(!a.specified&&!(_5.tagName.toLowerCase().match(/input|option/)&&a.nodeName=="value")&&!(_5.tagName.toLowerCase().match(/area/)&&a.nodeName.match(/shape|coords/i))){
-continue;
-}
-var _14=a.nodeName.toLowerCase();
-if(/_moz_editor_bogus_node/.test(_14)||(_14=="class"&&a.nodeValue=="webkit-block-placeholder")){
-_9="";
-break;
-}
-if(/(_moz)|(contenteditable)|(_msh)/.test(_14)){
-continue;
-}
-var _15;
-if(Xinha.emptyAttributes.indexOf(" "+_14+" ")!=-1){
-_15=_14;
-}else{
-if(_14!="style"){
-if(typeof _5[a.nodeName]!="undefined"&&_14!="href"&&_14!="src"&&!(/^on/.test(_14))){
-_15=_5[a.nodeName];
-}else{
-_15=a.nodeValue;
-if(_14=="class"){
-_15=_15.replace(/Apple-style-span/,"");
-if(!_15){
-continue;
-}
-}
-if(Xinha.is_ie&&(_14=="href"||_14=="src")){
-_15=_7.stripBaseURL(_15);
-}
-if(_7.config.only7BitPrintablesInURLs&&(_14=="href"||_14=="src")){
-_15=_15.replace(/([^!-~]+)/g,function(_16){
-return escape(_16);
-});
-}
-}
-}else{
-if(!Xinha.is_ie){
-_15=_5.style.cssText.replace(/rgb\(.*?\)/ig,function(rgb){
-return Xinha._colorToRgb(rgb);
-});
-}else{
-if(!_15){
-continue;
-}
-}
-}
-}
-if(/^(_moz)?$/.test(_15)){
-continue;
-}
-_9+=" "+_14+"=\""+Xinha.htmlEncode(_15)+"\"";
-}
-if(Xinha.is_ie&&_5.style.cssText){
-_9+=" style=\""+_5.style.cssText.replace(/(^)?([^:]*):(.*?)(;|$)/g,function(m0,m1,m2,m3,m4){
-return m2.toLowerCase()+":"+m3+m4;
-})+"\"";
-}
-if(Xinha.is_ie&&_5.tagName.toLowerCase()=="option"&&_5.selected){
-_9+=" selected=\"selected\"";
-}
-if(_9!==""){
-if(_a&&_c=="p"){
-_9+=">&nbsp;</p>";
-}else{
-if(_a){
-_9+=" />";
-}else{
-_9+=">";
-}
-}
-}
-}
-}
-var _1d=false;
-if(_c=="script"||_c=="noscript"){
-if(!_7.config.stripScripts){
-if(Xinha.is_ie){
-var _1e="\n"+_5.innerHTML.replace(/^[\n\r]*/,"").replace(/\s+$/,"")+"\n"+_8;
-}else{
-var _1e=(_5.hasChildNodes())?_5.firstChild.nodeValue:"";
-}
-_9+=_1e+"</"+_c+">"+((Xinha.is_ie)?"\n":"");
-}
-}else{
-if(_c=="pre"){
-_9+=((Xinha.is_ie)?"\n":"")+_5.innerHTML.replace(/<br>/g,"\n")+"</"+_c+">";
-}else{
-for(i=_5.firstChild;i;i=i.nextSibling){
-if(!_1d&&i.nodeType==1&&Xinha.isBlockElement(i)){
-_1d=true;
-}
-_9+=Xinha.getHTMLWrapper(i,true,_7,_8+"  ");
-}
-if(_6&&!_a){
-_9+=(((Xinha.isBlockElement(_5)&&_1d)||_c=="head"||_c=="html")?("\n"+_8):"")+"</"+_5.tagName.toLowerCase()+">";
-}
-}
-}
-break;
-case 3:
-if(/^script|noscript|style$/i.test(_5.parentNode.tagName)){
-_9=_5.data;
-}else{
-if(_5.data.trim()==""){
-if(_5.data){
-_9=" ";
-}else{
-_9="";
-}
-}else{
-_9=Xinha.htmlEncode(_5.data);
-}
-}
-break;
-case 8:
-_9="<!--"+_5.data+"-->";
-break;
-}
-return _9;
-};
-
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/GetHtml/TransformInnerHTML.js b/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/GetHtml/TransformInnerHTML.js
deleted file mode 100644
index e3b116e..0000000
--- a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/GetHtml/TransformInnerHTML.js
+++ /dev/null
@@ -1,155 +0,0 @@
-/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */
-/* The URL of the most recent version of this file is http://svn.xinha.org/trunk/modules/GetHtml/TransformInnerHTML.js */
-function GetHtmlImplementation(_1){
-this.editor=_1;
-};
-GetHtmlImplementation._pluginInfo={name:"GetHtmlImplementation TransformInnerHTML",version:"1.0",developer:"Nelson Bright",developer_url:"http://www.brightworkweb.com/",sponsor:"",sponsor_url:"",license:"htmlArea"};
-Xinha.RegExpCache=[/<\s*\/?([^\s\/>]+)[\s*\/>]/gi,/(\s+)_moz[^=>]*=[^\s>]*/gi,/\s*=\s*(([^'"][^>\s]*)([>\s])|"([^"]+)"|'([^']+)')/g,/\/>/g,/<(br|hr|img|input|link|meta|param|embed|area)((\s*\S*="[^"]*")*)>/g,/(<\w+\s+(\w*="[^"]*"\s+)*)(checked|compact|declare|defer|disabled|ismap|multiple|no(href|resize|shade|wrap)|readonly|selected)([\s>])/gi,/(="[^']*)'([^'"]*")/,/&(?=(?!(#[0-9]{2,5};|[a-zA-Z0-9]{2,6};|#x[0-9a-fA-F]{2,4};))[^<]*>)/g,/<\s+/g,/\s+(\/)?>/g,/\s{2,}/g,/\s+([^=\s]+)((="[^"]+")|([\s>]))/g,/\s+contenteditable(=[^>\s\/]*)?/gi,/((href|src)=")([^\s]*)"/g,/<\/?(div|p|h[1-6]|table|tr|td|th|ul|ol|li|dl|dt|dd|blockquote|object|br|hr|img|embed|param|pre|script|html|head|body|meta|link|title|area|input|form|textarea|select|option)[^>]*>/g,/<\/(div|p|h[1-6]|table|tr|ul|ol|dl|blockquote|html|head|body|script|form|select)( [^>]*)?>/g,/<(div|p|h[1-6]|table|tr|ul|ol|dl|blockquote|object|html|head|body|script|form|select)( [^>]*)?>/g,/<(td|th|li|dt|dd|option|br|hr|embed|param|pre|meta|link|title|area|input|textarea)[^>]*>/g,/(^|<\/(pre|script)>)(\s|[^\s])*?(<(pre|script)[^>]*>|$)/g,/(<pre[^>]*>)([\s\S])*?(<\/pre>)/g,/(^|<!--[\s\S]*?-->)([\s\S]*?)(?=<!--[\s\S]*?-->|$)/g,/\S*=""/g,/<!--[\s\S]*?-->|<\?[\s\S]*?\?>|<\/?\w[^>]*>/g,/(^|<\/script>)[\s\S]*?(<script[^>]*>|$)/g];
-var testRE=new RegExp().compile(Xinha.RegExpCache[3]);
-if(typeof testRE!="undefined"){
-for(var i=0;i<Xinha.RegExpCache.length;i++){
-Xinha.RegExpCache[i]=new RegExp().compile(Xinha.RegExpCache[i]);
-}
-}
-Xinha.prototype.cleanHTML=function(_2){
-var c=Xinha.RegExpCache;
-_2=_2.replace(c[0],function(_4){
-return _4.toLowerCase();
-}).replace(c[1]," ").replace(c[12]," ").replace(c[2],"=\"$2$4$5\"$3").replace(c[21]," ").replace(c[11],function(_5,p1,p2){
-return " "+p1.toLowerCase()+p2;
-}).replace(c[3],">").replace(c[9],"$1>").replace(c[5],"$1$3=\"$3\"$5").replace(c[4],"<$1$2 />").replace(c[6],"$1$2").replace(c[7],"&amp;").replace(c[8],"<").replace(c[10]," ");
-if(Xinha.is_ie&&c[13].test(_2)){
-_2=_2.replace(c[13],"$1"+Xinha._escapeDollars(this.stripBaseURL(RegExp.$3))+"\"");
-}
-if(this.config.only7BitPrintablesInURLs){
-if(Xinha.is_ie){
-c[13].test(_2);
-}
-if(c[13].test(_2)){
-try{
-_2=_2.replace(c[13],"$1"+Xinha._escapeDollars(decodeURIComponent(RegExp.$3).replace(/([^!-~]+)/g,function(_8){
-return escape(_8);
-}))+"\"");
-}
-catch(e){
-_2=_2.replace(c[13],Xinha._escapeDollars("$1"+RegExp.$3.replace(/([^!-~]+)/g,function(_9){
-return escape(_9);
-})+"\""));
-}
-}
-}
-return _2;
-};
-Xinha.indent=function(s,_b){
-Xinha.__nindent=0;
-Xinha.__sindent="";
-Xinha.__sindentChar=(typeof _b=="undefined")?"  ":_b;
-var c=Xinha.RegExpCache;
-if(Xinha.is_gecko){
-s=s.replace(c[19],function(_d){
-return _d.replace(/<br \/>/g,"\n");
-});
-}
-s=s.replace(c[18],function(_e){
-_e=_e.replace(c[20],function(st,$1,$2){
-string=$2.replace(/[\n\r]/gi," ").replace(/\s+/gi," ").replace(c[14],function(str){
-if(str.match(c[16])){
-var s="\n"+Xinha.__sindent+str;
-Xinha.__sindent+=Xinha.__sindentChar;
-++Xinha.__nindent;
-return s;
-}else{
-if(str.match(c[15])){
---Xinha.__nindent;
-Xinha.__sindent="";
-for(var i=Xinha.__nindent;i>0;--i){
-Xinha.__sindent+=Xinha.__sindentChar;
-}
-return "\n"+Xinha.__sindent+str;
-}else{
-if(str.match(c[17])){
-return "\n"+Xinha.__sindent+str;
-}
-}
-}
-return str;
-});
-return $1+string;
-});
-return _e;
-});
-s=s.replace(/^\s*/,"").replace(/ +\n/g,"\n").replace(/[\r\n]+(\s+)<\/script>/g,"\n$1</script>");
-return s;
-};
-Xinha.getHTML=function(_15,_16,_17){
-var _18="";
-var c=Xinha.RegExpCache;
-if(_15.nodeType==11){
-var div=document.createElement("div");
-var _1b=_15.insertBefore(div,_15.firstChild);
-for(j=_1b.nextSibling;j;j=j.nextSibling){
-_1b.appendChild(j.cloneNode(true));
-}
-_18+=_1b.innerHTML.replace(c[23],function(_1c){
-_1c=_1c.replace(c[22],function(tag){
-if(/^<[!\?]/.test(tag)){
-return tag;
-}else{
-return _17.cleanHTML(tag);
-}
-});
-return _1c;
-});
-}else{
-var _1e=(_15.nodeType==1)?_15.tagName.toLowerCase():"";
-if(_16){
-_18+="<"+_1e;
-var _1f=_15.attributes;
-for(i=0;i<_1f.length;++i){
-var a=_1f.item(i);
-if(!a.specified){
-continue;
-}
-var _21=a.nodeName.toLowerCase();
-var _22=a.nodeValue;
-_18+=" "+_21+"=\""+_22+"\"";
-}
-_18+=">";
-}
-if(_1e=="html"){
-innerhtml=_17._doc.documentElement.innerHTML;
-}else{
-innerhtml=_15.innerHTML;
-}
-_18+=innerhtml.replace(c[23],function(_23){
-_23=_23.replace(c[22],function(tag){
-if(/^<[!\?]/.test(tag)){
-return tag;
-}else{
-if(!(_17.config.htmlRemoveTags&&_17.config.htmlRemoveTags.test(tag.replace(/<([^\s>\/]+)/,"$1")))){
-return _17.cleanHTML(tag);
-}else{
-return "";
-}
-}
-});
-return _23;
-});
-if(Xinha.is_ie){
-_18=_18.replace(/<(li|dd|dt)( [^>]*)?>/g,"</$1><$1$2>").replace(/(<[uod]l[^>]*>[\s\S]*?)<\/(li|dd|dt)>/g,"$1").replace(/\s*<\/(li|dd|dt)>(\s*<\/(li|dd|dt)>)+/g,"</$1>").replace(/(<dt[\s>][\s\S]*?)(<\/d[dt]>)+/g,"$1</dt>");
-}
-if(Xinha.is_gecko){
-_18=_18.replace(/<br \/>\n$/,"");
-}
-_18=_18.replace(/\s*(<\/(li|dd|dt)>)/g,"$1");
-if(_16){
-_18+="</"+_1e+">";
-}
-_18=Xinha.indent(_18);
-}
-return _18;
-};
-Xinha._escapeDollars=function(str){
-return str.replace(/\$/g,"$$$$");
-};
-
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/InsertImage/insert_image.html b/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/InsertImage/insert_image.html
deleted file mode 100644
index 0247e4b..0000000
--- a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/InsertImage/insert_image.html
+++ /dev/null
@@ -1,173 +0,0 @@
-<!DOCTYPE html
-     PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-  <title>Insert Image</title>
-
-<script type="text/javascript" src="../../popups/popup.js"></script>
-<link rel="stylesheet" type="text/css" href="../../popups/popup.css" />
-
-<script type="text/javascript">
-
-
-Xinha = window.opener.Xinha;
-function i18n(str) {
-  return (Xinha._lc(str, 'Xinha'));
-}
-
-function Init() {
-  __dlg_translate('Xinha');
-  __dlg_init(null,{width:410,height:400});
-  // Make sure the translated string appears in the drop down. (for gecko)
-  document.getElementById("f_align").selectedIndex = 1;
-  document.getElementById("f_align").selectedIndex = 5;
-  var param = window.dialogArguments;
-  if (param["f_base"]) {
-      document.getElementById("f_base").value = param["f_base"];
-  }
-  document.getElementById("f_url").value    = param["f_url"] ? param["f_url"] : "";
-  document.getElementById("f_alt").value    = param["f_alt"] ? param["f_alt"] : "";
-  document.getElementById("f_border").value = (typeof param["f_border"]!="undefined") ? param["f_border"] : "";
-  document.getElementById("f_align").value  = param["f_align"] ? param["f_align"] : "";
-  document.getElementById("f_vert").value   = (typeof param["f_vert"]!="undefined") ? param["f_vert"] : "";
-  document.getElementById("f_horiz").value  = (typeof param["f_horiz"]!="undefined") ? param["f_horiz"] : "";
-  if (param["f_url"]) {
-      window.ipreview.location.replace(Xinha._resolveRelativeUrl(param.f_base, param.f_url));
-  }
-  document.getElementById("f_url").focus();
-}
-
-function onOK() {
-  var required = {
-    "f_url": i18n("You must enter the URL")
-  };
-  for (var i in required) {
-    var el = document.getElementById(i);
-    if (!el.value) {
-      alert(required[i]);
-      el.focus();
-      return false;
-    }
-  }
-  // pass data back to the calling window
-  var fields = ["f_url", "f_alt", "f_align", "f_border",
-                "f_horiz", "f_vert"];
-  var param = new Object();
-  for (var i in fields) {
-    var id = fields[i];
-    var el = document.getElementById(id);
-    param[id] = el.value;
-  }
-  __dlg_close(param);
-  return false;
-}
-
-function onCancel() {
-  __dlg_close(null);
-  return false;
-}
-
-function onPreview() {
-  var f_url = document.getElementById("f_url");
-  var url = f_url.value;
-  var base = document.getElementById("f_base").value;
-  if (!url) {
-    alert(i18n("You must enter the URL"));
-    f_url.focus();
-    return false;
-  }
-  window.ipreview.location.replace(Xinha._resolveRelativeUrl(base, url));
-  return false;
-}
-</script>
-
-</head>
-
-<body class="dialog" onload="Init()">
-
-<div class="title">Insert Image</div>
-<!--- new stuff --->
-<form action="" method="get">
-<input type="hidden" name="base" id="f_base"/>
-<table border="0" width="100%" style="padding: 0px; margin: 0px">
-  <tbody>
-
-  <tr>
-    <td style="width: 7em; text-align: right">Image URL:</td>
-    <td><input type="text" name="url" id="f_url" style="width:75%"
-      title="Enter the image URL here" />
-      <button name="preview" onclick="return onPreview();"
-      title="Preview the image in a new window">Preview</button>
-    </td>
-  </tr>
-  <tr>
-    <td style="width: 7em; text-align: right">Alternate text:</td>
-    <td><input type="text" name="alt" id="f_alt" style="width:100%"
-      title="For browsers that don't support images" /></td>
-  </tr>
-
-  </tbody>
-</table>
-
-<fieldset style="float: left; margin-left: 5px;">
-<legend>Layout</legend>
-
-<div class="space"></div>
-
-<div class="fl">Alignment:</div>
-<select size="1" name="align" id="f_align"
-  title="Positioning of this image">
-  <option value=""                             >Not set</option>
-  <option value="left"                         >Left</option>
-  <option value="right"                        >Right</option>
-  <option value="texttop"                      >Texttop</option>
-  <option value="absmiddle"                    >Absmiddle</option>
-  <option value="baseline" selected="selected" >Baseline</option>
-  <option value="absbottom"                    >Absbottom</option>
-  <option value="bottom"                       >Bottom</option>
-  <option value="middle"                       >Middle</option>
-  <option value="top"                          >Top</option>
-</select>
-
-<br />
-
-<div class="fl">Border thickness:</div>
-<input type="text" name="border" id="f_border" size="5"
-title="Leave empty for no border" />
-
-<div class="space"></div>
-
-</fieldset>
-
-<fieldset>
-<legend>Spacing</legend>
-
-<div class="space"></div>
-
-<div class="fr">Horizontal:</div>
-<input type="text" name="horiz" id="f_horiz" size="5"
-title="Horizontal padding" />
-
-<br />
-
-<div class="fr">Vertical:</div>
-<input type="text" name="vert" id="f_vert" size="5"
-title="Vertical padding" />
-
-<div class="space"></div>
-
-</fieldset>
-<div class="space" style="clear:all"></div>
-<div>
-Image Preview:<br />
-    <iframe name="ipreview" id="ipreview" frameborder="0" style="border : 1px solid gray;" 
-	height="200" width="100%" src="../../popups/blank.html"></iframe>
-</div>
-<div id="buttons">
-<button type="submit" name="ok" onclick="return onOK();">OK</button>
-<button type="button" name="cancel" onclick="return onCancel();">Cancel</button>
-</div>
-</form>
-</body>
-</html>
\ No newline at end of file
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/InsertImage/insert_image.js b/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/InsertImage/insert_image.js
deleted file mode 100644
index c25225c..0000000
--- a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/InsertImage/insert_image.js
+++ /dev/null
@@ -1,70 +0,0 @@
-/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */
-/* The URL of the most recent version of this file is http://svn.xinha.org/trunk/modules/InsertImage/insert_image.js */
-InsertImage._pluginInfo={name:"InsertImage",origin:"Xinha Core",version:"$LastChangedRevision: 1239 $".replace(/^[^:]*:\s*(.*)\s*\$$/,"$1"),developer:"The Xinha Core Developer Team",developer_url:"$HeadURL: http://svn.xinha.org/tags/0.96.1/modules/InsertImage/insert_image.js $".replace(/^[^:]*:\s*(.*)\s*\$$/,"$1"),sponsor:"",sponsor_url:"",license:"htmlArea"};
-function InsertImage(_1){
-this.editor=_1;
-var _2=_1.config;
-var _3=this;
-if(typeof _1._insertImage=="undefined"){
-_1._insertImage=function(){
-_3.show();
-};
-}
-};
-InsertImage.prototype._lc=function(_4){
-return Xinha._lc(_4,"Xinha");
-};
-InsertImage.prototype.onGenerateOnce=function(){
-InsertImage.loadAssets();
-};
-InsertImage.loadAssets=function(){
-var _5=InsertImage;
-if(_5.loading){
-return;
-}
-_5.loading=true;
-Xinha._getback(_editor_url+"modules/InsertImage/dialog.html",function(_6){
-_5.html=_6;
-_5.dialogReady=true;
-});
-Xinha._getback(_editor_url+"modules/InsertImage/pluginMethods.js",function(_7){
-eval(_7);
-_5.methodsReady=true;
-});
-};
-InsertImage.prototype.onUpdateToolbar=function(){
-if(!(InsertImage.dialogReady&&InsertImage.methodsReady)){
-this.editor._toolbarObjects.insertimage.state("enabled",false);
-}else{
-this.onUpdateToolbar=null;
-}
-};
-InsertImage.prototype.prepareDialog=function(){
-var _8=this;
-var _9=this.editor;
-var _a=this.dialog=new Xinha.Dialog(_9,InsertImage.html,"Xinha",{width:410});
-_a.getElementById("ok").onclick=function(){
-_8.apply();
-};
-_a.getElementById("cancel").onclick=function(){
-_8.dialog.hide();
-};
-_a.getElementById("preview").onclick=function(){
-var _b=_a.getElementById("f_url");
-var _c=_b.value;
-if(!_c){
-alert(_a._lc("You must enter the URL"));
-_b.focus();
-return false;
-}
-_a.getElementById("ipreview").src=_c;
-return false;
-};
-this.dialog.onresize=function(){
-var _d=parseInt(this.height,10)-this.getElementById("h1").offsetHeight-this.getElementById("buttons").offsetHeight-this.getElementById("inputs").offsetHeight-parseInt(this.rootElem.style.paddingBottom,10);
-this.getElementById("ipreview").style.height=((_d>0)?_d:0)+"px";
-this.getElementById("ipreview").style.width=this.width-2+"px";
-};
-this.dialogReady=true;
-};
-
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/InsertImage/pluginMethods.js b/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/InsertImage/pluginMethods.js
deleted file mode 100644
index 40b2f7d..0000000
--- a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/InsertImage/pluginMethods.js
+++ /dev/null
@@ -1,113 +0,0 @@
-/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */
-/* The URL of the most recent version of this file is http://svn.xinha.org/trunk/modules/InsertImage/pluginMethods.js */
-InsertImage.prototype.show=function(_1){
-if(!this.dialog){
-this.prepareDialog();
-}
-var _2=this.editor;
-if(typeof _1=="undefined"){
-_1=_2.getParentElement();
-if(_1&&_1.tagName.toLowerCase()!="img"){
-_1=null;
-}
-}
-if(_1){
-function getSpecifiedAttribute(_3,_4){
-var a=_3.attributes;
-for(var i=0;i<a.length;i++){
-if(a[i].nodeName==_4&&a[i].specified){
-return a[i].value;
-}
-}
-return "";
-};
-outparam={f_url:_2.stripBaseURL(_1.getAttribute("src",2)),f_alt:_1.alt,f_border:_1.border,f_align:_1.align,f_vert:getSpecifiedAttribute(_1,"vspace"),f_horiz:getSpecifiedAttribute(_1,"hspace"),f_width:_1.width,f_height:_1.height};
-}else{
-outparam={f_url:"",f_alt:"",f_border:"",f_align:"",f_vert:"",f_horiz:"",f_width:"",f_height:""};
-}
-this.image=_1;
-this.dialog.show(outparam);
-};
-InsertImage.prototype.apply=function(){
-var _7=this.dialog.hide();
-if(!_7.f_url){
-return;
-}
-var _8=this.editor;
-var _9=this.image;
-if(!_9){
-if(Xinha.is_ie){
-var _a=_8.getSelection();
-var _b=_8.createRange(_a);
-_8._doc.execCommand("insertimage",false,_7.f_url);
-_9=_b.parentElement();
-if(_9.tagName.toLowerCase()!="img"){
-_9=_9.previousSibling;
-}
-}else{
-_9=document.createElement("img");
-_9.src=_7.f_url;
-_8.insertNodeAtSelection(_9);
-if(!_9.tagName){
-_9=_b.startContainer.firstChild;
-}
-}
-}else{
-_9.src=_7.f_url;
-}
-for(var _c in _7){
-var _d=_7[_c];
-switch(_c){
-case "f_alt":
-if(_d){
-_9.alt=_d;
-}else{
-_9.removeAttribute("alt");
-}
-break;
-case "f_border":
-if(_d){
-_9.border=parseInt(_d||"0");
-}else{
-_9.removeAttribute("border");
-}
-break;
-case "f_align":
-if(_d.value){
-_9.align=_d.value;
-}else{
-_9.removeAttribute("align");
-}
-break;
-case "f_vert":
-if(_d!=""){
-_9.vspace=parseInt(_d||"0");
-}else{
-_9.removeAttribute("vspace");
-}
-break;
-case "f_horiz":
-if(_d!=""){
-_9.hspace=parseInt(_d||"0");
-}else{
-_9.removeAttribute("hspace");
-}
-break;
-case "f_width":
-if(_d){
-_9.width=parseInt(_d||"0");
-}else{
-_9.removeAttribute("width");
-}
-break;
-case "f_height":
-if(_d){
-_9.height=parseInt(_d||"0");
-}else{
-_9.removeAttribute("height");
-}
-break;
-}
-}
-};
-
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/InsertTable/dialog.html b/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/InsertTable/dialog.html
deleted file mode 100644
index 0a7456a..0000000
--- a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/InsertTable/dialog.html
+++ /dev/null
@@ -1,100 +0,0 @@
-<h1 id="[h1]"><l10n>Insert Table</l10n></h1>

-<form action="" method="get" style="margin-top:10px">

-<div id="[columns_alert]" style="color:red;display:none"><l10n>You must enter a number of columns</l10n></div>

-<div id="[rows_alert]" style="color:red;display:none"><l10n>You must enter a number of rows</l10n></div>

-

-<table border="0" style="padding: 0px; margin: 0px">

-  <tbody>

-  <tr>

-  <td>

-    <l10n>Caption</l10n>:

-  </td>  

-  <td colspan="4">

-    <input type="text" name="[caption]" id="[caption]" style="width:90%" title="_(Caption for the table)" />

-  </td>

-  </tr>

-  <tr>

-    <td style="width: 4em; text-align: right"><l10n>Rows:</l10n></td>

-    <td><input type="text" name="[rows]" id="[rows]" size="5" title="_(Number of rows)"  /></td>

-    <td style="width: 4em; text-align: right">Width:</td>

-    <td><input type="text" name="[width]" id="[width]" size="5" title="_(Width of the table)" /></td>

-    <td><select size="1" name="[unit]" id="[unit]" title="Width unit">

-      <option value="%"               ><l10n>Percent</l10n></option>

-      <option value="px"              ><l10n>Pixels</l10n></option>

-      <option value="em"              >Em</option>

-    </select></td>

-  </tr>

-  <tr>

-    <td style="width: 4em; text-align: right">Cols:</td>

-    <td><input type="text" name="[cols]" id="[cols]" size="5" title="_(Number of columns)"  /></td>

-    <td style="text-align: right"><input type="checkbox" name="[fixed]" id="[fixed]" value="on" /></td>

-    <td colspan="2"><label

-    ><l10n>Fixed width columns</l10n></label></td>

-  </tr>

-  </tbody>

-</table>

-

-<br />

-

-<fieldset id="[layout_fieldset]" style="float: left; margin-left: 10px;">

-<legend><l10n>Layou</l10n>t</legend>

-

-<div class="space"></div>

-

-<div class="fl"><l10n>Alignment:</l10n></div>

-<select size="1" name="[align]" id="[align]"

-  title="Positioning of this table">

-  <option value=""                             ><l10n>Not set</l10n></option>

-  <option value="left"                         ><l10n>Left</l10n></option>

-  <option value="right"                        ><l10n>Right</l10n></option>

-  <option value="texttop"                      ><l10n>Texttop</l10n></option>

-  <option value="absmiddle"                    ><l10n>Absmiddle</l10n></option>

-  <option value="baseline"                     ><l10n>Baseline</l10n></option>

-  <option value="absbottom"                    ><l10n>Absbottom</l10n></option>

-  <option value="bottom"                       ><l10n>Bottom</l10n></option>

-  <option value="middle"                       ><l10n>Middle</option>

-  <option value="top"                          ><l10n>Top</l10n></option>

-</select>

-

-<br />

-

-<div class="fl"><l10n>Border</l10n></div>

-<input type="text" name="[border]" id="[border]" size="2" title="_(Leave empty for no border)" /> <l10n>Pixels</l10n>

-<select size="1" name="[border_style]" id="[border_style]" title="_(Style of the border)">

-  <option value="solid"   >Solid</option>

-  <option value="dotted"  >Dotted</option>

-  <option value="dashed"  >Dashed</option>

-  <option value="double"  >Double</option>

-  <option value="groove"  >Groove</option>

-  <option value="ridge"   >Ridge</option>

-  <option value="inset"   >Inset</option>

-  <option value="outset"  >outset</option>

-</select>

-<input type="text" size="7" id="[border_color]" name="[border_color]"/>

-<br /><l10n>Collapse borders:</l10n> 

-<input type="checkbox" name="[border_collapse]" id="[border_collapse]" value="on" />

-

-<div class="space"></div>

-

-</fieldset>

-

-<fieldset  id="[spacing_fieldset]">

-<legend><l10n>Spacing</l10n></legend>

-

-<div class="space"></div>

-

-<div class="fr"><l10n>Cell spacing:</l10n></div>

-<input type="text" name="[spacing]" id="[spacing]" size="5" title="_(Space between adjacent cells)" />

-

-<br />

-

-<div class="fr"><l10n>Cell padding:</l10n></div>

-<input type="text" name="[padding]" id="[padding]" size="5" title="_(Space between content and border in cell)" />

-

-

-</fieldset>

-  <div class="buttons" style="clear:left">

-  <input type="button" id="[ok]"     value="_(OK)"     />

-  <input type="button" id="[cancel]" value="_(Cancel)" />

-  </div>

-</form>

diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/InsertTable/insert_table.html b/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/InsertTable/insert_table.html
deleted file mode 100644
index c3aab8d..0000000
--- a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/InsertTable/insert_table.html
+++ /dev/null
@@ -1,157 +0,0 @@
-<html>
-
-<head>
-  <title>Insert Table</title>
-
-<script type="text/javascript" src="../../popups/popup.js"></script>
-<link rel="stylesheet" type="text/css" href="../../popups/popup.css" />
-
-<script type="text/javascript">
-
-window.resizeTo(425, 250);
-
-Xinha = window.opener.Xinha;
-function i18n(str) {
-  return (Xinha._lc(str, 'Xinha'));
-}
-
-function Init() {
-  Xinha = window.opener.Xinha; // load the Xinha plugin and lang file
-  __dlg_translate('Xinha');
-  __dlg_init(null, Xinha.is_ie ? null : {width:425,height:250});
-  // Make sure the translated string appears in the drop down. (for gecko)
-  document.getElementById("f_unit").selectedIndex = 1;
-  document.getElementById("f_unit").selectedIndex = 0;
-  document.getElementById("f_align").selectedIndex = 1;
-  document.getElementById("f_align").selectedIndex = 0;
-  document.getElementById("f_rows").focus();
-}
-
-function onOK() {
-  var required = {
-    "f_rows": i18n("You must enter a number of rows"),
-    "f_cols": i18n("You must enter a number of columns")
-  };
-  for (var i in required) {
-    var el = document.getElementById(i);
-    if (!el.value) {
-      alert(required[i]);
-      el.focus();
-      return false;
-    }
-  }
-  var fields = ["f_rows", "f_cols", "f_width", "f_unit", "f_fixed",
-                "f_align", "f_border", "f_spacing", "f_padding"];
-  var param = new Object();
-  for (var i in fields) {
-    var id = fields[i];
-    var el = document.getElementById(id);
-    param[id] = (el.type == "checkbox") ? el.checked : el.value;
-  }
-  __dlg_close(param);
-  return false;
-}
-
-function onCancel() {
-  __dlg_close(null);
-  return false;
-}
-
-</script>
-
-</head>
-
-<body class="dialog" onload="Init()">
-
-<div class="title">Insert Table</div>
-
-<form action="" method="get">
-<table border="0" style="padding: 0px; margin: 0px">
-  <tbody>
-
-  <tr>
-    <td style="width: 4em; text-align: right">Rows:</td>
-    <td><input type="text" name="rows" id="f_rows" size="5" title="Number of rows" value="2" /></td>
-    <td style="width: 4em; text-align: right">Width:</td>
-    <td><input type="text" name="width" id="f_width" size="5" title="Width of the table" value="100" /></td>
-    <td><select size="1" name="unit" id="f_unit" title="Width unit">
-      <option value="%" selected="selected"  >Percent</option>
-      <option value="px"              >Pixels</option>
-      <option value="em"              >Em</option>
-    </select></td>
-  </tr>
-  <tr>
-    <td style="width: 4em; text-align: right">Cols:</td>
-    <td><input type="text" name="cols" id="f_cols" size="5" title="Number of columns" value="4" /></td>
-    <td style="text-align: right"><input type="checkbox" checked="checked" name="fixed" id="f_fixed" value="on" /></td>
-    <td colspan="2"><label for="f_fixed"
-    >Fixed width columns</label></td>
-  </tr>
-  </tbody>
-</table>
-
-<p />
-
-<fieldset style="float: left; margin-left: 5px;">
-<legend>Layout</legend>
-
-<div class="space"></div>
-
-<div class="fl">Alignment:</div>
-<select size="1" name="align" id="f_align"
-  title="Positioning of this table">
-  <option value="" selected="selected"         >Not set</option>
-  <option value="left"                         >Left</option>
-  <option value="right"                        >Right</option>
-  <option value="texttop"                      >Texttop</option>
-  <option value="absmiddle"                    >Absmiddle</option>
-  <option value="baseline"                     >Baseline</option>
-  <option value="absbottom"                    >Absbottom</option>
-  <option value="bottom"                       >Bottom</option>
-  <option value="middle"                       >Middle</option>
-  <option value="top"                          >Top</option>
-</select>
-
-<p />
-
-<div class="fl">Border thickness:</div>
-<input type="text" name="border" id="f_border" size="5" value="1"
-title="Leave empty for no border" />
-<!--
-<p />
-
-<div class="fl">Collapse borders:</div>
-<input type="checkbox" name="collapse" id="f_collapse" />
--->
-<div class="space"></div>
-
-</fieldset>
-
-<fieldset style="float:right; margin-right: 5px;">
-<legend>Spacing</legend>
-
-<div class="space"></div>
-
-<div class="fr">Cell spacing:</div>
-<input type="text" name="spacing" id="f_spacing" size="5" value="1"
-title="Space between adjacent cells" />
-
-<p />
-
-<div class="fr">Cell padding:</div>
-<input type="text" name="padding" id="f_padding" size="5" value="1"
-title="Space between content and border in cell" />
-
-<div class="space"></div>
-
-</fieldset>
-
-<div style="margin-top: 85px; border-top: 1px solid #999; padding: 2px; text-align: right;">
-<button type="button" name="ok" onclick="return onOK();">OK</button>
-<button type="button" name="cancel" onclick="return onCancel();">Cancel</button>
-</div>
-
-</form>
-
-</body>
-</html>
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/InsertTable/insert_table.js b/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/InsertTable/insert_table.js
deleted file mode 100644
index 427340d..0000000
--- a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/InsertTable/insert_table.js
+++ /dev/null
@@ -1,57 +0,0 @@
-/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */
-/* The URL of the most recent version of this file is http://svn.xinha.org/trunk/modules/InsertTable/insert_table.js */
-InsertTable._pluginInfo={name:"InsertTable",origin:"Xinha Core",version:"$LastChangedRevision: 1085 $".replace(/^[^:]*:\s*(.*)\s*\$$/,"$1"),developer:"The Xinha Core Developer Team",developer_url:"$HeadURL: http://svn.xinha.org/tags/0.96.1/modules/InsertTable/insert_table.js $".replace(/^[^:]*:\s*(.*)\s*\$$/,"$1"),sponsor:"",sponsor_url:"",license:"htmlArea"};
-function InsertTable(_1){
-this.editor=_1;
-var _2=_1.config;
-var _3=this;
-_1.config.btnList.inserttable[3]=function(){
-_3.show();
-};
-};
-InsertTable.prototype._lc=function(_4){
-return Xinha._lc(_4,"Xinha");
-};
-InsertTable.prototype.onGenerateOnce=function(){
-InsertTable.loadAssets();
-};
-InsertTable.loadAssets=function(){
-var _5=InsertTable;
-if(_5.loading){
-return;
-}
-_5.loading=true;
-Xinha._getback(_editor_url+"modules/InsertTable/dialog.html",function(_6){
-_5.html=_6;
-_5.dialogReady=true;
-});
-Xinha._getback(_editor_url+"modules/InsertTable/pluginMethods.js",function(_7){
-eval(_7);
-_5.methodsReady=true;
-});
-};
-InsertTable.prototype.onUpdateToolbar=function(){
-if(!(InsertTable.dialogReady&&InsertTable.methodsReady)){
-this.editor._toolbarObjects.inserttable.state("enabled",false);
-}else{
-this.onUpdateToolbar=null;
-}
-};
-InsertTable.prototype.prepareDialog=function(){
-var _8=this;
-var _9=this.editor;
-var _a=this.dialog=new Xinha.Dialog(_9,InsertTable.html,"Xinha",{width:400});
-_a.getElementById("ok").onclick=function(){
-_8.apply();
-};
-_a.getElementById("cancel").onclick=function(){
-_8.dialog.hide();
-};
-this.borderColorPicker=new Xinha.colorPicker.InputBinding(_a.getElementById("border_color"));
-this.dialog.onresize=function(){
-this.getElementById("layout_fieldset").style.width=(this.width/2)+50+"px";
-this.getElementById("spacing_fieldset").style.width=(this.width/2)-120+"px";
-};
-this.dialogReady=true;
-};
-
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/InsertTable/pluginMethods.js b/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/InsertTable/pluginMethods.js
deleted file mode 100644
index 1c898e4..0000000
--- a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/InsertTable/pluginMethods.js
+++ /dev/null
@@ -1,81 +0,0 @@
-/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */
-/* The URL of the most recent version of this file is http://svn.xinha.org/trunk/modules/InsertTable/pluginMethods.js */
-InsertTable.prototype.show=function(_1){
-if(!this.dialog){
-this.prepareDialog();
-}
-var _2=this.editor;
-var _3={"caption":"","rows":"2","cols":"4","width":"100","unit":"%","fixed":"","align":"","border":"1","border_style":"dotted","border_color":"#000000","border_collapse":"on","spacing":"","padding":"5"};
-this.borderColorPicker.setColor("#000000");
-this.dialog.show(_3);
-this.dialog.onresize();
-};
-InsertTable.prototype.apply=function(){
-var _4=this.editor;
-var _5=_4._doc;
-var _6=this.dialog.getValues();
-if(!_6.rows||!_6.cols){
-if(!_6.rows){
-this.dialog.getElementById("rows_alert").style.display="";
-}
-if(!_6.cols){
-this.dialog.getElementById("columns_alert").style.display="";
-}
-return;
-}
-this.dialog.hide();
-var _7=_5.createElement("table");
-for(var _8 in _6){
-var _9=_6[_8];
-if(!_9){
-continue;
-}
-switch(_8){
-case "width":
-_7.style.width=_9+_6.unit.value;
-break;
-case "align":
-_7.align=_9.value;
-break;
-case "border":
-_7.style.border=_9+"px "+_6.border_style.value+" "+_6.border_color;
-break;
-case "border_collapse":
-_7.style.borderCollapse=(_9=="on")?"collapse":"";
-break;
-case "spacing":
-_7.cellSpacing=parseInt(_9,10);
-break;
-case "padding":
-_7.cellPadding=parseInt(_9,10);
-break;
-}
-}
-if(_6.caption){
-var _a=_7.createCaption();
-_a.appendChild(_5.createTextNode(_6.caption));
-}
-var _b=0;
-if(_6.fixed){
-_b=Math.floor(100/parseInt(_6.cols,10));
-}
-var _c=_5.createElement("tbody");
-_7.appendChild(_c);
-for(var i=0;i<_6.rows;++i){
-var tr=_5.createElement("tr");
-_c.appendChild(tr);
-for(var j=0;j<_6.cols;++j){
-var td=_5.createElement("td");
-if(_b&&i===0){
-td.style.width=_b+"%";
-}
-if(_6.border){
-td.style.border=_6.border+"px "+_6.border_style.value+" "+_6.border_color;
-}
-tr.appendChild(td);
-td.appendChild(_5.createTextNode(" "));
-}
-}
-_4.insertNodeAtSelection(_7);
-};
-
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/InternetExplorer/InternetExplorer.js b/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/InternetExplorer/InternetExplorer.js
deleted file mode 100644
index 855507b..0000000
--- a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/InternetExplorer/InternetExplorer.js
+++ /dev/null
@@ -1,477 +0,0 @@
-/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */
-/* The URL of the most recent version of this file is http://svn.xinha.org/trunk/modules/InternetExplorer/InternetExplorer.js */
-InternetExplorer._pluginInfo={name:"Internet Explorer",origin:"Xinha Core",version:"$LastChangedRevision: 1260 $".replace(/^[^:]*:\s*(.*)\s*\$$/,"$1"),developer:"The Xinha Core Developer Team",developer_url:"$HeadURL: http://svn.xinha.org/tags/0.96.1/modules/InternetExplorer/InternetExplorer.js $".replace(/^[^:]*:\s*(.*)\s*\$$/,"$1"),sponsor:"",sponsor_url:"",license:"htmlArea"};
-function InternetExplorer(_1){
-this.editor=_1;
-_1.InternetExplorer=this;
-};
-InternetExplorer.prototype.onKeyPress=function(ev){
-if(this.editor.isShortCut(ev)){
-switch(this.editor.getKey(ev).toLowerCase()){
-case "n":
-this.editor.execCommand("formatblock",false,"<p>");
-Xinha._stopEvent(ev);
-return true;
-break;
-case "1":
-case "2":
-case "3":
-case "4":
-case "5":
-case "6":
-this.editor.execCommand("formatblock",false,"<h"+this.editor.getKey(ev).toLowerCase()+">");
-Xinha._stopEvent(ev);
-return true;
-break;
-}
-}
-switch(ev.keyCode){
-case 8:
-case 46:
-if(this.handleBackspace()){
-Xinha._stopEvent(ev);
-return true;
-}
-break;
-case 9:
-Xinha._stopEvent(ev);
-return true;
-}
-return false;
-};
-InternetExplorer.prototype.handleBackspace=function(){
-var _3=this.editor;
-var _4=_3.getSelection();
-if(_4.type=="Control"){
-var _5=_3.activeElement(_4);
-Xinha.removeFromParent(_5);
-return true;
-}
-var _6=_3.createRange(_4);
-var r2=_6.duplicate();
-r2.moveStart("character",-1);
-var a=r2.parentElement();
-if(a!=_6.parentElement()&&(/^a$/i.test(a.tagName))){
-r2.collapse(true);
-r2.moveEnd("character",1);
-r2.pasteHTML("");
-r2.select();
-return true;
-}
-};
-InternetExplorer.prototype.inwardHtml=function(_9){
-_9=_9.replace(/<(\/?)del(\s|>|\/)/ig,"<$1strike$2");
-_9=_9.replace(/(<script|<!--)/i,"&nbsp;$1");
-_9=_9.replace(/<span[^>]+id="__InsertSpan_Workaround_[a-z]+".*?>([\s\S]*?)<\/span>/i,"$1");
-return _9;
-};
-InternetExplorer.prototype.outwardHtml=function(_a){
-_a=_a.replace(/&nbsp;(\s*)(<script|<!--)/i,"$1$2");
-_a=_a.replace(/<span[^>]+id="__InsertSpan_Workaround_[a-z]+".*?>([\s\S]*?)<\/span>/i,"$1");
-return _a;
-};
-InternetExplorer.prototype.onExecCommand=function(_b,UI,_d){
-switch(_b){
-case "saveas":
-var _e=null;
-var _f=this.editor;
-var _10=document.createElement("iframe");
-_10.src="about:blank";
-_10.style.display="none";
-document.body.appendChild(_10);
-try{
-if(_10.contentDocument){
-_e=_10.contentDocument;
-}else{
-_e=_10.contentWindow.document;
-}
-}
-catch(ex){
-}
-_e.open("text/html","replace");
-var _11="";
-if(_f.config.browserQuirksMode===false){
-var _12="<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">";
-}else{
-if(_f.config.browserQuirksMode===true){
-var _12="";
-}else{
-var _12=Xinha.getDoctype(document);
-}
-}
-if(!_f.config.fullPage){
-_11+=_12+"\n";
-_11+="<html>\n";
-_11+="<head>\n";
-_11+="<meta http-equiv=\"Content-Type\" content=\"text/html; charset="+_f.config.charSet+"\">\n";
-if(typeof _f.config.baseHref!="undefined"&&_f.config.baseHref!==null){
-_11+="<base href=\""+_f.config.baseHref+"\"/>\n";
-}
-if(typeof _f.config.pageStyleSheets!=="undefined"){
-for(var i=0;i<_f.config.pageStyleSheets.length;i++){
-if(_f.config.pageStyleSheets[i].length>0){
-_11+="<link rel=\"stylesheet\" type=\"text/css\" href=\""+_f.config.pageStyleSheets[i]+"\">";
-}
-}
-}
-if(_f.config.pageStyle){
-_11+="<style type=\"text/css\">\n"+_f.config.pageStyle+"\n</style>";
-}
-_11+="</head>\n";
-_11+="<body>\n";
-_11+=_f.getEditorContent();
-_11+="</body>\n";
-_11+="</html>";
-}else{
-_11=_f.getEditorContent();
-if(_11.match(Xinha.RE_doctype)){
-_f.setDoctype(RegExp.$1);
-}
-}
-_e.write(_11);
-_e.close();
-_e.execCommand(_b,UI,_d);
-document.body.removeChild(_10);
-return true;
-break;
-case "removeformat":
-var _f=this.editor;
-var sel=_f.getSelection();
-var _15=_f.saveSelection(sel);
-var i,el,els;
-function clean(el){
-if(el.nodeType!=1){
-return;
-}
-el.removeAttribute("style");
-for(var j=0;j<el.childNodes.length;j++){
-clean(el.childNodes[j]);
-}
-if((el.tagName.toLowerCase()=="span"&&!el.attributes.length)||el.tagName.toLowerCase()=="font"){
-el.outerHTML=el.innerHTML;
-}
-};
-if(_f.selectionEmpty(sel)){
-els=_f._doc.body.childNodes;
-for(i=0;i<els.length;i++){
-el=els[i];
-if(el.nodeType!=1){
-continue;
-}
-if(el.tagName.toLowerCase()=="span"){
-newNode=_f.convertNode(el,"div");
-el.parentNode.replaceChild(newNode,el);
-el=newNode;
-}
-clean(el);
-}
-}
-_f._doc.execCommand(_b,UI,_d);
-_f.restoreSelection(_15);
-return true;
-break;
-}
-return false;
-};
-Xinha.prototype.insertNodeAtSelection=function(_1a){
-this.insertHTML(_1a.outerHTML);
-};
-Xinha.prototype.getParentElement=function(sel){
-if(typeof sel=="undefined"){
-sel=this.getSelection();
-}
-var _1c=this.createRange(sel);
-switch(sel.type){
-case "Text":
-var _1d=_1c.parentElement();
-while(true){
-var _1e=_1c.duplicate();
-_1e.moveToElementText(_1d);
-if(_1e.inRange(_1c)){
-break;
-}
-if((_1d.nodeType!=1)||(_1d.tagName.toLowerCase()=="body")){
-break;
-}
-_1d=_1d.parentElement;
-}
-return _1d;
-case "None":
-try{
-return _1c.parentElement();
-}
-catch(e){
-return this._doc.body;
-}
-case "Control":
-return _1c.item(0);
-default:
-return this._doc.body;
-}
-};
-Xinha.prototype.activeElement=function(sel){
-if((sel===null)||this.selectionEmpty(sel)){
-return null;
-}
-if(sel.type.toLowerCase()=="control"){
-return sel.createRange().item(0);
-}else{
-var _20=sel.createRange();
-var _21=this.getParentElement(sel);
-if(_21.innerHTML==_20.htmlText){
-return _21;
-}
-return null;
-}
-};
-Xinha.prototype.selectionEmpty=function(sel){
-if(!sel){
-return true;
-}
-return this.createRange(sel).htmlText==="";
-};
-Xinha.prototype.saveSelection=function(sel){
-return this.createRange(sel?sel:this.getSelection());
-};
-Xinha.prototype.restoreSelection=function(_24){
-if(!_24){
-return;
-}
-var _25=null;
-if(_24.parentElement){
-_25=_24.parentElement();
-}else{
-_25=_24.item(0);
-}
-var _26=this.createRange(this.getSelection());
-var _27=null;
-if(_26.parentElement){
-_27=_26.parentElement();
-}else{
-_27=_26.item(0);
-}
-var _28=function(el){
-for(var _2a=el;_2a;_2a=_2a.parentNode){
-if(_2a.tagName.toLowerCase()=="html"){
-return _2a.parentNode;
-}
-}
-return null;
-};
-if(_24.parentElement&&_28(_25)==_28(_27)){
-if(_26.isEqual(_24)){
-return;
-}
-}
-try{
-_24.select();
-}
-catch(e){
-}
-_26=this.createRange(this.getSelection());
-if(_26.parentElement){
-_27=_26.parentElement();
-}else{
-_27=_26.item(0);
-}
-if(_27!=_25){
-var _2b=this.config.selectWorkaround||"VisibleCue";
-switch(_2b){
-case "SimulateClick":
-case "InsertSpan":
-var _2c=_28(_25);
-var _2d=function(_2e){
-var _2f="";
-for(var _30=0;_30<26;++_30){
-_2f+=String.fromCharCode("a".charCodeAt(0)+_30);
-}
-var _31="";
-for(var _30=0;_30<_2e;++_30){
-_31+=_2f.substr(Math.floor(Math.random()*_2f.length+1),1);
-}
-return _31;
-};
-var _32=1;
-var _33="__InsertSpan_Workaround_"+_2d(_32);
-while(_2c.getElementById(_33)){
-_32+=1;
-_33="__InsertSpan_Workaround_"+_2d(_32);
-}
-_24.pasteHTML("<span id=\""+_33+"\"></span>");
-var _34=_2c.getElementById(_33);
-_24.moveToElementText(_34);
-_24.select();
-break;
-case "JustificationHack":
-var _35=String.fromCharCode(1);
-_24.pasteHTML(_35);
-_24.findText(_35,-1);
-_24.select();
-_24.execCommand("JustifyNone");
-_24.pasteHTML("");
-break;
-case "VisibleCue":
-default:
-var _35=String.fromCharCode(1);
-_24.pasteHTML(_35);
-_24.findText(_35,-1);
-_24.select();
-}
-}
-};
-Xinha.prototype.selectNodeContents=function(_36,_37){
-this.focusEditor();
-this.forceRedraw();
-var _38;
-var _39=typeof _37=="undefined"?true:false;
-if(_39&&_36.tagName&&_36.tagName.toLowerCase().match(/table|img|input|select|textarea/)){
-_38=this._doc.body.createControlRange();
-_38.add(_36);
-}else{
-_38=this._doc.body.createTextRange();
-if(3==_36.nodeType){
-if(_36.parentNode){
-_38.moveToElementText(_36.parentNode);
-}else{
-_38.moveToElementText(this._doc.body);
-}
-var _3a=this._doc.body.createTextRange();
-var _3b=0;
-var _3c=_36.previousSibling;
-for(;_3c&&(1!=_3c.nodeType);_3c=_3c.previousSibling){
-if(3==_3c.nodeType){
-_3b+=_3c.nodeValue.length-_3c.nodeValue.split("\r").length-1;
-}
-}
-if(_3c&&(1==_3c.nodeType)){
-_3a.moveToElementText(_3c);
-_38.setEndPoint("StartToEnd",_3a);
-}
-if(_3b){
-_38.moveStart("character",_3b);
-}
-_3b=0;
-_3c=_36.nextSibling;
-for(;_3c&&(1!=_3c.nodeType);_3c=_3c.nextSibling){
-if(3==_3c.nodeType){
-_3b+=_3c.nodeValue.length-_3c.nodeValue.split("\r").length-1;
-if(!_3c.nextSibling){
-_3b+=1;
-}
-}
-}
-if(_3c&&(1==_3c.nodeType)){
-_3a.moveToElementText(_3c);
-_38.setEndPoint("EndToStart",_3a);
-}
-if(_3b){
-_38.moveEnd("character",-_3b);
-}
-if(!_36.nextSibling){
-_38.moveEnd("character",-1);
-}
-}else{
-_38.moveToElementText(_36);
-}
-}
-if(typeof _37!="undefined"){
-_38.collapse(_37);
-if(!_37){
-_38.moveStart("character",-1);
-_38.moveEnd("character",-1);
-}
-}
-_38.select();
-};
-Xinha.prototype.insertHTML=function(_3d){
-this.focusEditor();
-var sel=this.getSelection();
-var _3f=this.createRange(sel);
-_3f.pasteHTML(_3d);
-};
-Xinha.prototype.getSelectedHTML=function(){
-var sel=this.getSelection();
-if(this.selectionEmpty(sel)){
-return "";
-}
-var _41=this.createRange(sel);
-if(_41.htmlText){
-return _41.htmlText;
-}else{
-if(_41.length>=1){
-return _41.item(0).outerHTML;
-}
-}
-return "";
-};
-Xinha.prototype.getSelection=function(){
-return this._doc.selection;
-};
-Xinha.prototype.createRange=function(sel){
-if(!sel){
-sel=this.getSelection();
-}
-return sel.createRange();
-};
-Xinha.prototype.isKeyEvent=function(_43){
-return _43.type=="keydown";
-};
-Xinha.prototype.getKey=function(_44){
-return String.fromCharCode(_44.keyCode);
-};
-Xinha.getOuterHTML=function(_45){
-return _45.outerHTML;
-};
-Xinha.cc=String.fromCharCode(8201);
-Xinha.prototype.setCC=function(_46){
-var cc=Xinha.cc;
-if(_46=="textarea"){
-var ta=this._textArea;
-var pos=document.selection.createRange();
-pos.collapse();
-pos.text=cc;
-var _4a=ta.value.indexOf(cc);
-var _4b=ta.value.substring(0,_4a);
-var _4c=ta.value.substring(_4a+cc.length,ta.value.length);
-if(_4c.match(/^[^<]*>/)){
-var _4d=_4c.indexOf(">")+1;
-ta.value=_4b+_4c.substring(0,_4d)+cc+_4c.substring(_4d,_4c.length);
-}else{
-ta.value=_4b+cc+_4c;
-}
-ta.value=ta.value.replace(new RegExp("(&[^"+cc+"]*?)("+cc+")([^"+cc+"]*?;)"),"$1$3$2");
-ta.value=ta.value.replace(new RegExp("(<script[^>]*>[^"+cc+"]*?)("+cc+")([^"+cc+"]*?</script>)"),"$1$3$2");
-ta.value=ta.value.replace(new RegExp("^([^"+cc+"]*)("+cc+")([^"+cc+"]*<body[^>]*>)(.*?)"),"$1$3$2$4");
-}else{
-var sel=this.getSelection();
-var r=sel.createRange();
-if(sel.type=="Control"){
-var _50=r.item(0);
-_50.outerHTML+=cc;
-}else{
-r.collapse();
-r.text=cc;
-}
-}
-};
-Xinha.prototype.findCC=function(_51){
-var _52=(_51=="textarea")?this._textArea:this._doc.body;
-range=_52.createTextRange();
-if(range.findText(escape(Xinha.cc))){
-range.select();
-range.text="";
-range.select();
-}
-if(range.findText(Xinha.cc)){
-range.select();
-range.text="";
-range.select();
-}
-if(_51=="textarea"){
-this._textArea.focus();
-}
-};
-Xinha.getDoctype=function(doc){
-return (doc.compatMode=="CSS1Compat"&&Xinha.ie_version<8)?"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">":"";
-};
-
diff --git a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/Opera/Opera.js b/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/Opera/Opera.js
deleted file mode 100644
index ce08b45..0000000
--- a/app/src/main/webapp/roller-ui/authoring/editors/xinha-0.96.1/modules/Opera/Opera.js
+++ /dev/null
@@ -1,471 +0,0 @@
-/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */
-/* The URL of the most recent version of this file is http://svn.xinha.org/trunk/modules/Opera/Opera.js */
-Opera._pluginInfo={name:"Opera",origin:"Xinha Core",version:"$LastChangedRevision: 1084 $".replace(/^[^:]*:\s*(.*)\s*\$$/,"$1"),developer:"The Xinha Core Developer Team",developer_url:"$HeadURL: http://svn.xinha.org/tags/0.96.1/modules/Opera/Opera.js $".replace(/^[^:]*:\s*(.*)\s*\$$/,"$1"),sponsor:"Gogo Internet Services Limited",sponsor_url:"http://www.gogo.co.nz/",license:"htmlArea"};
-function Opera(_1){
-this.editor=_1;
-_1.Opera=this;
-};
-Opera.prototype.onKeyPress=function(ev){
-var _3=this.editor;
-var s=_3.getSelection();
-if(_3.isShortCut(ev)){
-switch(_3.getKey(ev).toLowerCase()){
-case "z":
-if(_3._unLink&&_3._unlinkOnUndo){
-Xinha._stopEvent(ev);
-_3._unLink();
-_3.updateToolbar();
-return true;
-}
-break;
-case "a":
-sel=_3.getSelection();
-sel.removeAllRanges();
-range=_3.createRange();
-range.selectNodeContents(_3._doc.body);
-sel.addRange(range);
-Xinha._stopEvent(ev);
-return true;
-break;
-case "v":
-if(!_3.config.htmlareaPaste){
-return true;
-}
-break;
-}
-}
-switch(_3.getKey(ev)){
-case " ":
-var _5=function(_6,_7){
-var _8=_6.nextSibling;
-if(typeof _7=="string"){
-_7=_3._doc.createElement(_7);
-}
-var a=_6.parentNode.insertBefore(_7,_8);
-Xinha.removeFromParent(_6);
-a.appendChild(_6);
-_8.data=" "+_8.data;
-s.collapse(_8,1);
-_3._unLink=function(){
-var t=a.firstChild;
-a.removeChild(t);
-a.parentNode.insertBefore(t,a);
-Xinha.removeFromParent(a);
-_3._unLink=null;
-_3._unlinkOnUndo=false;
-};
-_3._unlinkOnUndo=true;
-return a;
-};
-if(_3.config.convertUrlsToLinks&&s&&s.isCollapsed&&s.anchorNode.nodeType==3&&s.anchorNode.data.length>3&&s.anchorNode.data.indexOf(".")>=0){
-var _b=s.anchorNode.data.substring(0,s.anchorOffset).search(/\S{4,}$/);
-if(_b==-1){
-break;
-}
-if(_3._getFirstAncestor(s,"a")){
-break;
-}
-var _c=s.anchorNode.data.substring(0,s.anchorOffset).replace(/^.*?(\S*)$/,"$1");
-var _d=_c.match(Xinha.RE_email);
-if(_d){
-var _e=s.anchorNode;
-var _f=_e.splitText(s.anchorOffset);
-var _10=_e.splitText(_b);
-_5(_10,"a").href="mailto:"+_d[0];
-break;
-}
-RE_date=/([0-9]+\.)+/;
-RE_ip=/(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)/;
-var _11=_c.match(Xinha.RE_url);
-if(_11){
-if(RE_date.test(_c)){
-break;
-}
-var _12=s.anchorNode;
-var _13=_12.splitText(s.anchorOffset);
-var _14=_12.splitText(_b);
-_5(_14,"a").href=(_11[1]?_11[1]:"http://")+_11[2];
-break;
-}
-}
-break;
-}
-switch(ev.keyCode){
-case 27:
-if(_3._unLink){
-_3._unLink();
-Xinha._stopEvent(ev);
-}
-break;
-break;
-case 8:
-case 46:
-if(!ev.shiftKey&&this.handleBackspace()){
-Xinha._stopEvent(ev);
-}
-default:
-_3._unlinkOnUndo=false;
-if(s.anchorNode&&s.anchorNode.nodeType==3){
-var a=_3._getFirstAncestor(s,"a");
-if(!a){
-break;
-}
-if(!a._updateAnchTimeout){
-if(s.anchorNode.data.match(Xinha.RE_email)&&a.href.match("mailto:"+s.anchorNode.data.trim())){
-var _16=s.anchorNode;
-var _17=function(){
-a.href="mailto:"+_16.data.trim();
-a._updateAnchTimeout=setTimeout(_17,250);
-};
-a._updateAnchTimeout=setTimeout(_17,1000);
-break;
-}
-var m=s.anchorNode.data.match(Xinha.RE_url);
-if(m&&a.href.match(new RegExp("http(s)?://"+Xinha.escapeStringForRegExp(s.anchorNode.data.trim())))){
-var _19=s.anchorNode;
-var _1a=function(){
-m=_19.data.match(Xinha.RE_url);
-if(m){
-a.href=(m[1]?m[1]:"http://")+m[2];
-}
-a._updateAnchTimeout=setTimeout(_1a,250);
-};
-a._updateAnchTimeout=setTimeout(_1a,1000);
-}
-}
-}
-break;
-}
-return false;
-};
-Opera.prototype.handleBackspace=function(){
-var _1b=this.editor;
-setTimeout(function(){
-var sel=_1b.getSelection();
-var _1d=_1b.createRange(sel);
-var SC=_1d.startContainer;
-var SO=_1d.startOffset;
-var EC=_1d.endContainer;
-var EO=_1d.endOffset;
-var _22=SC.nextSibling;
-if(SC.nodeType==3){
-SC=SC.parentNode;
-}
-if(!(/\S/.test(SC.tagName))){
-var p=document.createElement("p");
-while(SC.firstChild){
-p.appendChild(SC.firstChild);
-}
-SC.parentNode.insertBefore(p,SC);
-Xinha.removeFromParent(SC);
-var r=_1d.cloneRange();
-r.setStartBefore(_22);
-r.setEndAfter(_22);
-r.extractContents();
-sel.removeAllRanges();
-sel.addRange(r);
-}
-},10);
-};
-Opera.prototype.inwardHtml=function(_25){
-_25=_25.replace(/<(\/?)del(\s|>|\/)/ig,"<$1strike$2");
-return _25;
-};
-Opera.prototype.outwardHtml=function(_26){
-return _26;
-};
-Opera.prototype.onExecCommand=function(_27,UI,_29){
-switch(_27){
-case "removeformat":
-var _2a=this.editor;
-var sel=_2a.getSelection();
-var _2c=_2a.saveSelection(sel);
-var _2d=_2a.createRange(sel);
-var els=_2a._doc.body.getElementsByTagName("*");
-var _2f=(_2d.startContainer.nodeType==1)?_2d.startContainer:_2d.startContainer.parentNode;
-var i,el;
-if(sel.isCollapsed){
-_2d.selectNodeContents(_2a._doc.body);
-}
-for(i=0;i<els.length;i++){
-el=els[i];
-if(_2d.isPointInRange(el,0)||(els[i]==_2f&&_2d.startOffset==0)){
-el.removeAttribute("style");
-}
-}
-this.editor._doc.execCommand(_27,UI,_29);
-_2a.restoreSelection(_2c);
-return true;
-break;
-}
-return false;
-};
-Opera.prototype.onMouseDown=function(ev){
-};
-Xinha.prototype.insertNodeAtSelection=function(_33){
-if(_33.ownerDocument!=this._doc){
-try{
-_33=this._doc.adoptNode(_33);
-}
-catch(e){
-}
-}
-this.focusEditor();
-var sel=this.getSelection();
-var _35=this.createRange(sel);
-_35.deleteContents();
-var _36=_35.startContainer;
-var pos=_35.startOffset;
-var _38=_33;
-sel.removeAllRanges();
-switch(_36.nodeType){
-case 3:
-if(_33.nodeType==3){
-_36.insertData(pos,_33.data);
-_35=this.createRange();
-_35.setEnd(_36,pos+_33.length);
-_35.setStart(_36,pos+_33.length);
-sel.addRange(_35);
-}else{
-_36=_36.splitText(pos);
-if(_33.nodeType==11){
-_38=_38.firstChild;
-}
-_36.parentNode.insertBefore(_33,_36);
-this.selectNodeContents(_38);
-this.updateToolbar();
-}
-break;
-case 1:
-if(_33.nodeType==11){
-_38=_38.firstChild;
-}
-_36.insertBefore(_33,_36.childNodes[pos]);
-this.selectNodeContents(_38);
-this.updateToolbar();
-break;
-}
-};
-Xinha.prototype.getParentElement=function(sel){
-if(typeof sel=="undefined"){
-sel=this.getSelection();
-}
-var _3a=this.createRange(sel);
-try{
-var p=_3a.commonAncestorContainer;
-if(!_3a.collapsed&&_3a.startContainer==_3a.endContainer&&_3a.startOffset-_3a.endOffset<=1&&_3a.startContainer.hasChildNodes()){
-p=_3a.startContainer.childNodes[_3a.startOffset];
-}
-while(p.nodeType==3){
-p=p.parentNode;
-}
-return p;
-}
-catch(ex){
-return null;
-}
-};
-Xinha.prototype.activeElement=function(sel){
-if((sel===null)||this.selectionEmpty(sel)){
-return null;
-}
-if(!sel.isCollapsed){
-if(sel.anchorNode.childNodes.length>sel.anchorOffset&&sel.anchorNode.childNodes[sel.anchorOffset].nodeType==1){
-return sel.anchorNode.childNodes[sel.anchorOffset];
-}else{
-if(sel.anchorNode.nodeType==1){
-return sel.anchorNode;
-}else{
-return null;
-}
-}
-}
-return null;
-};
-Xinha.prototype.selectionEmpty=function(sel){
-if(!sel){
-return true;
-}
-if(typeof sel.isCollapsed!="undefined"){
-return sel.isCollapsed;
-}
-return true;
-};
-Xinha.prototype.saveSelection=function(){
-return this.createRange(this.getSelection()).cloneRange();
-};
-Xinha.prototype.restoreSelection=function(_3e){
-var sel=this.getSelection();
-sel.removeAllRanges();
-sel.addRange(_3e);
-};
-Xinha.prototype.selectNodeContents=function(_40,_41){
-this.focusEditor();
-this.forceRedraw();
-var _42;
-var _43=typeof _41=="undefined"?true:false;
-var sel=this.getSelection();
-_42=this._doc.createRange();
-if(_43&&_40.tagName&&_40.tagName.toLowerCase().match(/table|img|input|textarea|select/)){
-_42.selectNode(_40);
-}else{
-_42.selectNodeContents(_40);
-}
-sel.removeAllRanges();
-sel.addRange(_42);
-if(typeof _41!="undefined"){
-if(_41){
-sel.collapse(_42.startContainer,_42.startOffset);
-}else{
-sel.collapse(_42.endContainer,_42.endOffset);
-}
-}
-};
-Xinha.prototype.insertHTML=function(_45){
-var sel=this.getSelection();
-var _47=this.createRange(sel);
-this.focusEditor();
-var _48=this._doc.createDocumentFragment();
-var div=this._doc.createElement("div");
-div.innerHTML=_45;
-while(div.firstChild){
-_48.appendChild(div.firstChild);
-}
-var _4a=this.insertNodeAtSelection(_48);
-};
-Xinha.prototype.getSelectedHTML=function(){
-var sel=this.getSelection();
-if(sel.isCollapsed){
-return "";
-}
-var _4c=this.createRange(sel);
-return Xinha.getHTML(_4c.cloneContents(),false,this);
-};
-Xinha.prototype.getSelection=function(){
-var sel=this._iframe.contentWindow.getSelection();
-if(sel&&sel.focusNode&&sel.focusNode.tagName&&sel.focusNode.tagName=="HTML"){
-var bod=this._doc.getElementsByTagName("body")[0];
-var rng=this.createRange();
-rng.selectNodeContents(bod);
-sel.removeAllRanges();
-sel.addRange(rng);
-sel.collapseToEnd();
-}
-return sel;
-};
-Xinha.prototype.createRange=function(sel){
-this.activateEditor();
-if(typeof sel!="undefined"){
-try{
-return sel.getRangeAt(0);
-}
-catch(ex){
-return this._doc.createRange();
-}
-}else{
-return this._doc.createRange();
-}
-};
-Xinha.prototype.isKeyEvent=function(_51){
-return _51.type=="keypress";
-};
-Xinha.prototype.getKey=function(_52){
-return String.fromCharCode(_52.charCode);
-};
-Xinha.getOuterHTML=function(_53){
-return (new XMLSerializer()).serializeToString(_53);
-};
-Xinha.cc=String.fromCharCode(8286);
-Xinha.prototype.setCC=function(_54){
-var cc=Xinha.cc;
-try{
-if(_54=="textarea"){
-var ta=this._textArea;
-var _57=ta.selectionStart;
-var _58=ta.value.substring(0,_57);