Added feature #13889: htmlArea RTE: Cleanup some unused scripts (Quick Tag)
authorStanislas Rolland <typo3@sjbr.ca>
Mon, 22 Mar 2010 15:54:54 +0000 (15:54 +0000)
committerStanislas Rolland <typo3@sjbr.ca>
Mon, 22 Mar 2010 15:54:54 +0000 (15:54 +0000)
git-svn-id: https://svn.typo3.org/TYPO3v4/Core/trunk@7145 709f56b5-9817-0410-a4d7-c38de5d9e867

ChangeLog
typo3/sysext/rtehtmlarea/ChangeLog
typo3/sysext/rtehtmlarea/htmlarea/plugins/QuickTag/popups/quicktag.html [deleted file]
typo3/sysext/rtehtmlarea/htmlarea/plugins/QuickTag/tag-lib.js [deleted file]

index a161485..935f455 100755 (executable)
--- a/ChangeLog
+++ b/ChangeLog
@@ -4,6 +4,7 @@
        * Fixed bug #13887: htmlArea RTE: Table dialogues may raise js error
        * Added feature #13888: htmlArea RTE: Add border around toolbar
        * Follow-up to feature #13796: htmlArea RTE: Extjize Remove format dialogue
+       * Added feature #13889: htmlArea RTE: Cleanup some unused scripts (Quick Tag)
 
 2010-03-20  Stanislas Rolland  <typo3@sjbr.ca>
 
index 1dbb258..d8833e5 100644 (file)
@@ -4,6 +4,7 @@
        * Fixed bug #13887: htmlArea RTE: Table dialogues may raise js error
        * Added feature #13888: htmlArea RTE: Add border around toolbar
        * Follow-up to feature #13796: htmlArea RTE: Extjize Remove format dialogue
+       * Added feature #13889: htmlArea RTE: Cleanup some unused scripts (Quick Tag)
 
 2010-03-20  Stanislas Rolland  <typo3@sjbr.ca>
 
diff --git a/typo3/sysext/rtehtmlarea/htmlarea/plugins/QuickTag/popups/quicktag.html b/typo3/sysext/rtehtmlarea/htmlarea/plugins/QuickTag/popups/quicktag.html
deleted file mode 100644 (file)
index 867909b..0000000
+++ /dev/null
@@ -1,386 +0,0 @@
-<!DOCTYPE html
-     PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html>
-<!-- 
-/***************************************************************
-*  Copyright notice
-*
-*  (c) 2004 Cau guanabara <caugb@ibest.com.br>
-*  (c) 2005-2008 Stanislas Rolland <typo3(arobas)sjbr.ca>
-*  All rights reserved
-*
-*  This script is part of the TYPO3 project. The TYPO3 project is
-*  free software; you can redistribute it and/or modify
-*  it under the terms of the GNU General Public License as published by
-*  the Free Software Foundation; either version 2 of the License, or
-*  (at your option) any later version.
-*
-*  The GNU General Public License can be found at
-*  http://www.gnu.org/copyleft/gpl.html.
-*  A copy is found in the textfile GPL.txt and important notices to the license
-*  from the author is found in LICENSE.txt distributed with these scripts.
-*
-*
-*  This script is distributed in the hope that it will be useful,
-*  but WITHOUT ANY WARRANTY; without even the implied warranty of
-*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-*  GNU General Public License for more details.
-*
-*  This script is a modified version of a script published under the htmlArea License.
-*  A copy of the htmlArea License may be found in the textfile HTMLAREA_LICENSE.txt.
-*
-*  This copyright notice MUST APPEAR in all copies of the script!
-***************************************************************/
-/*
- * Quick Tag Editor Plugin for TYPO3 htmlArea RTE
- *
- * TYPO3 SVN ID: $Id$
- */
--->
-<head>
-       <title>Quick Tag Editor</title>
-       <meta http-equiv="Content-Style-Type" content="text/css" />
-       <script type="text/javascript" src="../tag-lib.js"></script>
-       <script type="text/javascript">
-               /*<![CDATA[*/
-               <!--
-               var dialog = window.opener.HTMLArea.Dialog.QuickTag;
-               var curTag = "none";
-               var curTagOpt = false;
-               var CSSEdit = false;
-               
-               function Init() {
-                       dialog.initialize(false,true);
-                       
-                       createDropdown("tags");
-                       var to = document.getElementById('tagopen');
-                       HTMLArea._addEvent(to, "keypress", function(ev) { if (typeof choice_dropdown != "undefined") choice_dropdown(HTMLArea.is_ie ? window.event : ev); });
-                       
-                       document.getElementById('bt_colors').style.display = "none";
-                       document.body.onkeypress = onKeyPress;
-                       to.focus();
-                       if (HTMLArea.is_gecko && !HTMLArea.is_safari && !HTMLArea.is_opera) {
-                               setTimeout( function() { dialog.resize(); }, 200);
-                       } else {
-                               dialog.resize();
-                       }
-               };
-
-               function onCancel() {
-                       dialog.close();
-                       return false;
-               };
-
-               function quoteTest(val) {
-                       var er = /^\w+\s*([a-zA-Z_0-9:;]+=\"[^\"]*\"\s*|[a-zA-Z_0-9:;]+=\'[^\']*\'\s*)*$/;
-                       return er.test(val);
-               };
-
-               function onOK() {
-                       var el = document.getElementById('tagopen');
-                       if(!el.value) {
-                               alert(dialog.plugin.localize("Enter the TAG you want to insert"));
-                               el.focus();
-                               return false;
-                       }
-                       if(!quoteTest(el.value)) {
-                               if(!quoteTest(el.value + '"')) {
-                                       alert(dialog.plugin.localize("There are some unclosed quote"));
-                                       el.focus();
-                                       el.select();
-                                       return false;
-                               } else {
-                                       el.value += '"';
-                               }
-                       }
-
-                       var param = {};
-                       var cleanTO = document.getElementById('tagopen').value.replace(/(<|>)/g,"");
-                       param.tagopen = "<"+cleanTO+">";
-                       param.tagclose = param.tagopen.replace(/^<(\w+) ?.*>/,"</$1>"); 
-
-                       var subtag = subTagLib[curTag];
-                       if(typeof subtag == 'object') {
-                               param.tagopen = param.tagopen+subtag.op;
-                               param.tagclose = subtag.cl+param.tagclose;
-                       }
-
-                       dialog.performAction(param);
-                       dialog.close();
-                       return false;
-               };
-
-               function onKeyPress(ev) {
-                       if(!ev) var ev = window.event;
-                       switch(ev.keyCode) {
-                               case 13: 
-                                       document.getElementById('bt_ok').click();
-                                       break;
-                               case 27:
-                                       dialog.close();
-                                       return false;
-                       }
-                       return true;
-               };
-               
-               function selchange() {
-                       var toadd = document.getElementById('selectag').value; 
-                       var oldval = document.getElementById('tagopen').value; 
-                       var text = (oldval+toadd).replace(/^\s*(.+)\s*$/,"$1");
-                       var atrib = /(\w+)=\"$/.test(toadd) ? toadd.replace(/(\w+)=\"$/, "$1") : null;
-                       var showcolors = (/color\: ?$/.test(toadd)) ? true : false;
-                       var noCSSclasses = false;
-                       var obj = null;
-                       curTag = text.replace(/(^\w+) ?.*$/, "$1");
-                       curTagOpt = (tagLib[curTag] == true);
-                       
-                       if (atrib) {
-                               var atrer = eval('/'+atrib+'=/ig');
-                               if(atrer.test(oldval) && !(/[^=]\"$/.test(toadd))) {
-                                       alert(dialog.plugin.localize("This attribute already exists in the TAG"));
-                                       return false;
-                               }
-                               switch(atrib) {
-                                       case 'style':
-                                               CSSEdit = true;
-                                               break;
-                                       case 'class':
-                                               if(captureClasses() == 0) noCSSclasses = true;
-                                               break;
-                                       case 'color':
-                                       case 'bgcolor':
-                                       case 'bordercolor':
-                                       case 'bordercolorlight':
-                                       case 'bordercolordark':
-                                               showcolors = true;
-                                               break;
-                               }
-                               
-                               if(curTagOpt == true) {
-                                       obj = eval('opAtt_'+curTag.replace(/^h[1-6]$/,"h")+'["'+atrib+'"]');
-                               } else {
-                                       obj = opAtt_all[atrib];
-                               } 
-                       } else if (!CSSEdit && (/(^\w+$|\"$)/.test(toadd))) {
-                               obj = 'all';
-                               if (curTagOpt == true) obj = curTag;
-                               toadd += ' ';
-                       }
-                               
-                       if (CSSEdit && quoteTest(text)) CSSEdit = false;
-                               
-                       if (showcolors) document.getElementById('bt_colors').style.display = '';
-                               
-                       if(obj) {
-                               createDropdown(obj, curTag);
-                       } else if(!CSSEdit) {
-                               document.getElementById('showselect').style.visibility = 'hidden';
-                       }
-                       
-                       if(noCSSclasses) {
-                               document.getElementById('showselect').innerHTML = dialog.plugin.localize("No CSS class avaiable");
-                               document.getElementById('showselect').style.visibility = 'visible';
-                       }
-                       
-                       addchanges();
-                       
-                       function addchanges() {
-                               document.getElementById('tagopen').focus();
-                               document.getElementById('tagopen').value += toadd;
-                       };
-               };
-
-               function captureClasses() {
-                       var cont = 0;
-                               // If there is no '<HTML>' in the HTMLArea content, when using styleSheets[..].rule, IE generates an error.   
-                               // In this case, we lost the classes in external CSS files.
-                               // If FullPage is loaded, there is no problem.
-                       if(!(/<\s*html\s*>/i.test(dialog.plugin.editor.getHTML())) && document.all) {
-                               var styles = dialog.plugin.editor._doc.getElementsByTagName("style");
-                               for(var i in styles) {
-                                       var cont = styles[i].innerHTML;
-                                       if(typeof cont != 'undefined') {
-                                               var cls = cont.match(/\.\w+/ig,"");
-                                               for(var j in cls) if(/^\.\w+$/.test(cls[j])) {
-                                                       var classname = cls[j].replace(/\./,"")+'"';
-                                                       opAtt_all['class'][cls[j]] = classname;
-                                                       cont++;
-                                               }
-                                       }
-                               }
-                               return cont;
-                       }
-
-                       var styleSheet = null;
-                       var styles = dialog.plugin.editor._doc.styleSheets;
-                       for (var i = 0; i < styles.length; i++) {
-                               styleSheet = styles[i];
-                               if(document.all) {
-                                       var _rules = styleSheet.rules;
-                               } else {
-                                       var _rules = styleSheet.cssRules;
-                               }
-                               for (var j = 0; j < _rules.length; j++) {
-                                       var rule = _rules[j];
-                                       if(/^\.\w+$/.test(rule.selectorText)) {
-                                               var classname = rule.selectorText.replace(/\./,"")+'"';
-                                               opAtt_all['class'][rule.selectorText] = classname;
-                                               cont++;
-                                       }
-                               }
-                       }
-                       return cont;
-               };
-
-               function choice_dropdown(e) {
-                       if (document.all) var Key = e.keyCode;
-                               else var Key = e.charCode;
-                       if (Key != 32) return;
-
-                       var text = document.getElementById('tagopen').value.replace(/^\s*([^\s]+)\s*$/,"$1");
-                       if (CSSEdit && quoteTest(text)) CSSEdit = false;
-                       if (CSSEdit) return;
-
-                       if (curTag == 'none') {
-                               curTag = text.replace(/(^\w+) ?.*$/, "$1");
-                               curTagOpt = tagLib[curTag];
-                       }
-
-                       if(!/\w/.test(text)) {
-                               document.getElementById('tagopen').value = ''; 
-                               createDropdown("tags");
-                               return;
-                       }
-
-                       var att = 'all';
-                       if (curTagOpt == true) att = curTag;
-                       createDropdown(att, curTag);
-               };
-               
-               function createDropdown(type,tag) {
-                       var _div = document.getElementById('showselect');
-                       while(_div.hasChildNodes()) _div.removeChild(_div.firstChild);
-                       _div.style.visibility = 'visible';
-                       
-                       var _sel = document.createElement("select");
-                       _sel.id = "selectag";
-                       _sel.onchange = function() { selchange(); };
-                       
-                       if (typeof(type) == 'object') {
-                               var obj = type;
-                               forObj(dialog.plugin.localize("OPTIONS"),'options');
-                               _div.appendChild(_sel);
-                               return;
-                       }
-                       
-                       if (type == 'tags') {
-                               var obj = new Object();
-                               if (dialog.plugin.denyTags) {
-                                       var denyTags = dialog.plugin.denyTags.split(",").join("|").replace(/ /g, "");
-                                       var expr = new RegExp("^("+denyTags+")$");
-                                       for (var i in allTags) {
-                                               if (!expr.test(i)) obj[i] = allTags[i];
-                                       }
-                               } else {
-                                       obj = allTags;
-                               }
-                               forObj(dialog.plugin.localize("TAGs"),'tags');
-                               _div.appendChild(_sel);
-                               return;
-                       }
-                       
-                       var topt = eval('opTag_'+type.replace(/^h[1-6]$/,"h"));
-                       if (typeof(topt) == 'object') {
-                               var obj = new Object();
-                               var allowedAttribs = "";
-                               if (typeof(tag) == "string" && (dialog.plugin.allowedAttribs || (dialog.plugin.tags && dialog.plugin.tags[tag] && dialog.plugin.tags[tag]["allowedAttribs"]))) {
-                                       if (dialog.plugin.allowedAttribs) {
-                                               allowedAttribs = dialog.plugin.allowedAttribs.split(",").join("|").replace(/ /g, "");
-                                       }
-                                       if (dialog.plugin.tags && dialog.plugin.tags[tag] && dialog.plugin.tags[tag]["allowedAttribs"]) {
-                                               if (allowedAttribs) allowedAttribs =  allowedAttribs + "|";
-                                               allowedAttribs += dialog.plugin.tags[tag]["allowedAttribs"].split(",").join("|").replace(/ /g, "");
-                                       }
-                                       var expr = new RegExp("^("+allowedAttribs+")$");
-                                       for (var i in topt) {
-                                               if (expr.test(i)) obj[i] = topt[i];
-                                       }
-                               } else {
-                                       obj = topt;
-                               }
-                       } else {
-                               return;
-                       }
-                       forObj(dialog.plugin.localize("ATTRIBUTES"),'attributes');
-                       _div.appendChild(_sel);
-
-                       function forObj(first,type) {
-                               if (first) {
-                                       var opt = document.createElement("option");
-                                       opt.appendChild(document.createTextNode(first));
-                                       _sel.appendChild(opt);
-                               }
-                               for (var i in obj) {
-                                       var opt = document.createElement("option");
-                                       opt.appendChild(document.createTextNode(i));
-                                       opt.value = obj[i];
-                                       _sel.appendChild(opt);
-                               }
-                       };
-               };
-                       // Called from the TYPO3 Color plugin
-               var SelectColorDialog = new Object();
-               SelectColorDialog.insertColor = function (val) {
-                       insertColor(val);
-               };
-                       // Called from the Default Color plugin
-               function insertColor(val) {
-                       if(val && val != null) {
-                               if(CSSEdit) {
-                                       val += "; ";
-                               } else {
-                                       val += '" ';
-                               }
-                               document.getElementById('tagopen').value += val;
-                               document.getElementById('bt_colors').style.display = "none";
-                               document.getElementById('tagopen').focus();
-                               var att = 'all';
-                               if (curTagOpt == true) att = curTag;
-                               createDropdown(att, curTag);
-                       }
-               };
-               function colors() {
-                       var colorPlugin = dialog.plugin.editor.plugins.TYPO3Color;
-                       if (colorPlugin) {
-                               colorPlugin = colorPlugin.instance;
-                               colorPlugin.dialogSelectColor("tag", "", SelectColorDialog, window);
-                       } else {
-                               colorPlugin = dialog.plugin.editor.plugins.DefaultColor;
-                               if (colorPlugin) {
-                                       colorPlugin.instance.onButtonPress(dialog.plugin.editor, "QuickTag");
-                               }
-                       }
-               };
-               // -->
-               /*]]>*/
-       </script>
-</head>
-<body class="popupwin htmlarea-quick-tag" onload="Init();">
-<div class="title">Quick Tag Editor</div>
-<form action="" method="get">
-       <div id="tag">
-               <strong>&lt;</strong>
-               <input id="tagopen" type="text" />
-               <strong>&gt;</strong>
-       </div>
-       <div class="space"></div>
-       <div id="showselect"></div>
-       <div class="buttons">
-               <button type="button" id="bt_colors" onclick="colors();">Colors</button>
-               <button type="button" id="bt_ok" onclick="return onOK();">Ok</button>
-               <button type="button" onclick="return onCancel();">Cancel</button>
-       </div>
-</form>
-</body>
-</html>
diff --git a/typo3/sysext/rtehtmlarea/htmlarea/plugins/QuickTag/tag-lib.js b/typo3/sysext/rtehtmlarea/htmlarea/plugins/QuickTag/tag-lib.js
deleted file mode 100644 (file)
index 4741656..0000000
+++ /dev/null
@@ -1,361 +0,0 @@
-/*
-  TAG Library for QuickTag Plugin  
-  -------------------------------
-  
-  allTags = All tags that appears in the first dropdown ('TAGS') {'caption': 'value'}  
-  tagLib = The tags with options (just to check if current TAG have options) {'[TAG]': true}
-  subTagLib = Complements for some tags that needs it (TABLE) 
-    {'[TAG]': {'op': 'after tag open', 'cl': 'before tag close'}}
-  opTag_all = Common attributes to all TAGS {'caption': 'value'}  
-  opAtt_all = Options for the common attributes {'attribute': {'caption': 'value'}}
-  opTag_[TAG] = Attributes for [TAG] {'caption': 'value'}
-  opAtt_[TAG] = Options for the [TAG] attributes {'attribute': {'caption': 'value'}}
-  
-*/
-
-var allTags = {
-'a': 'a',
-'abbr': 'abbr',
-'acronym': 'acronym',
-'address': 'address',
-'b': 'b',
-'big': 'big',
-'blockquote': 'blockquote',
-'cite': 'cite',
-'code': 'code',
-'div': 'div',
-'em': 'em',
-'fieldset': 'fieldset',
-'font': 'font',
-'h1': 'h1',
-'h2': 'h2',
-'h3': 'h3',
-'h4': 'h4',
-'h5': 'h5',
-'h6': 'h6',
-'i': 'i',
-'legend': 'legend',
-'li': 'li',
-'ol': 'ol',
-'ul': 'ul',
-'p': 'p',
-'pre': 'pre',
-'q': 'q',
-'small': 'small',
-'span': 'span',
-'strong': 'strong',
-'sub': 'sub',
-'sup': 'sup',
-'table': 'table',
-'tt': 'tt'
-};
-
-// tags with options
-var tagLib =  {
-       'a': true,
-       'div': true,
-       'font': true,
-       'h1': true,
-       'h2': true,
-       'h3': true,
-       'h4': true,
-       'h5': true,
-       'h6': true,
-       'p': true,
-       'table': true
-};
-// tags that needs some complement
-var subTagLib = {'table': {'op': '<tbody><tr><td>',
-                           'cl': '</td></tr></tbody>'}
-};
-
-var opTag_a = {
-'href': 'href="',
-'name': 'name="',
-'target': 'target="'
-};
-var opAtt_a = {
-'href': {'http://': 'http://',
-         'https://': 'https://',
-         'ftp://': 'ftp://',
-         'mailto:': 'mailto:',
-         '#': '#"'},
-'target': {'_top': '_top"',
-           '_self': '_self"',
-           '_parent': '_parent"',
-           '_blank': '_blank"'}
-};
-
-var opTag_font = {
-'face': 'face="',
-'size': 'size="',
-'color': 'color="'
-};
-var opAtt_font = {
-'face': {'Verdana': 'Verdana"',
-         'Arial': 'Arial"',
-         'Tahoma': 'Tahoma"',
-         'Courier New': 'Courier New"',
-         'Times New Roman': 'Times New Roman"'},
-'size': {'1': '1"','2': '2"','3': '3"','4': '4"','5': '5"','6': '6"',
-         '+1': '+1"','+2': '+2"','+3': '+3"','+4': '+4"','+5': '+5"','+6': '+6"',
-         '-1': '-1"','-2': '-2"','-3': '-3"','-4': '-4"','-5': '-5"','-6': '-6"'}
-};
-
-var opTag_div = {
-'align': 'align="'
-};
-var opAtt_div = {
-'align': {'center': 'center"',
-          'left': 'left"',
-          'right': 'right"',
-          'justify': 'justify"'}
-};
-
-var opTag_h = {
-'align': 'align="'
-};
-var opAtt_h = {
-'align': {'center': 'center"',
-          'left': 'left"',
-          'right': 'right"',
-          'justify': 'justify"'}
-};
-
-var opTag_p = {
-'align': 'align="'
-};
-var opAtt_p = {
-'align': {'center': 'center"',
-          'left': 'left"',
-          'right': 'right"',
-          'justify': 'justify"'}
-};
-
-var opTag_table = {
-'align': 'align="',
-'width': 'width="',
-'height': 'height="',
-'cellpadding': 'cellpadding="',
-'cellspacing': 'cellspacing="',
-'background': 'background="',
-'bgcolor': 'bgcolor="',
-'border': 'border="',
-'bordercolor': 'bordercolor="',
-'bordercolorlight': 'bordercolorlight="',
-'bordercolordark': 'bordercolordark="'
-};
-var opAtt_table = {
-'align': {'center': 'center"',
-          'left': 'left"',
-          'right': 'right"'}
-};
-
-// for all tags 
-var opTag_all = {
-       'class': 'class="',
-       'dir': 'dir="',
-       'id': 'id="',
-       'lang': 'lang="',
-       'onFocus': 'onFocus="',
-       'onBlur': 'onBlur="',
-       'onClick': 'onClick="',
-       'onDblClick': 'onDblClick="',
-       'onMouseDown': 'onMouseDown="',
-       'onMouseUp': 'onMouseUp="',
-       'onMouseOver': 'onMouseOver="',
-       'onMouseMove': 'onMouseMove="',
-       'onMouseOut': 'onMouseOut="',
-       'onKeyPress': 'onKeyPress="',
-       'onKeyDown': 'onKeyDown="',
-       'onKeyUp': 'onKeyUp="',
-       'style': 'style="',
-       'title': 'title="',
-       'xml:lang' : 'xml:lang="'
-};
-var opAtt_all = {
-'class': {},
-'dir': {'rtl': 'rtl"','ltr': 'ltr"'},
-'lang': {'Afrikaans ': 'af"',
-         'Albanian ': 'sq"',
-         'Arabic ': 'ar"',
-         'Basque ': 'eu"',
-         'Breton ': 'br"',
-         'Bulgarian ': 'bg"',
-         'Belarusian ': 'be"',
-         'Catalan ': 'ca"',
-         'Chinese ': 'zh"',
-         'Croatian ': 'hr"',
-         'Czech ': 'cs"',
-         'Danish ': 'da"',
-         'Dutch ': 'nl"',
-         'English ': 'en"',
-         'Estonian ': 'et"',
-         'Faeroese ': 'fo"',
-         'Farsi ': 'fa"',
-         'Finnish ': 'fi"',
-         'French ': 'fr"',
-         'Gaelic ': 'gd"',
-         'German ': 'de"',
-         'Greek ': 'el"',
-         'Hebrew ': 'he"',
-         'Hindi ': 'hi"',
-         'Hungarian ': 'hu"',
-         'Icelandic ': 'is"',
-         'Indonesian ': 'id"',
-         'Italian ': 'it"',
-         'Japanese ': 'ja"',
-         'Korean ': 'ko"',
-         'Latvian ': 'lv"',
-         'Lithuanian ': 'lt"',
-         'Macedonian ': 'mk"',
-         'Malaysian ': 'ms"',
-         'Maltese ': 'mt"',
-         'Norwegian ': 'no"',
-         'Polish ': 'pl"',
-         'Portuguese ': 'pt"',
-         'Rhaeto-Romanic ': 'rm"',
-         'Romanian ': 'ro"',
-         'Russian ': 'ru"',
-         'Sami ': 'sz"',
-         'Serbian ': 'sr"',
-         'Setswana ': 'tn"',
-         'Slovak ': 'sk"',
-         'Slovenian ': 'sl"',
-         'Spanish ': 'es"',
-         'Sutu ': 'sx"',
-         'Swedish ': 'sv"',
-         'Thai ': 'th"',
-         'Tsonga ': 'ts"',
-         'Turkish ': 'tr"',
-         'Ukrainian ': 'uk"',
-         'Urdu ': 'ur"',
-         'Vietnamese ': 'vi"',
-         'Xhosa ': 'xh"',
-         'Yiddish ': 'yi"',
-         'Zulu': 'zu"'},
-'style': {'azimuth': 'azimuth: ',
-          'background': 'background: ',
-          'background-attachment': 'background-attachment: ',
-          'background-color': 'background-color: ',
-          'background-image': 'background-image: ',
-          'background-position': 'background-position: ',
-          'background-repeat': 'background-repeat: ',
-          'border': 'border: ',
-          'border-bottom': 'border-bottom: ',
-          'border-left': 'border-left: ',
-          'border-right': 'border-right: ',
-          'border-top': 'border-top: ',
-          'border-bottom-color': 'border-bottom-color: ',
-          'border-left-color': 'border-left-color: ',
-          'border-right-color': 'border-right-color: ',
-          'border-top-color': 'border-top-color: ',
-          'border-bottom-style': 'border-bottom-style: ',
-          'border-left-style': 'border-left-style: ',
-          'border-right-style': 'border-right-style: ',
-          'border-top-style': 'border-top-style: ',
-          'border-bottom-width': 'border-bottom-width: ',
-          'border-left-width': 'border-left-width: ',
-          'border-right-width': 'border-right-width: ',
-          'border-top-width': 'border-top-width: ',
-          'border-collapse': 'border-collapse: ',
-          'border-color': 'border-color: ',
-          'border-style': 'border-style: ',
-          'border-width': 'border-width: ',
-          'bottom': 'bottom: ',
-          'caption-side': 'caption-side: ',
-          'cell-spacing': 'cell-spacing: ',
-          'clear': 'clear: ',
-          'clip': 'clip: ',
-          'color': 'color: ',
-          'column-span': 'column-span: ',
-          'content': 'content: ',
-          'cue': 'cue: ',
-          'cue-after': 'cue-after: ',
-          'cue-before': 'cue-before: ',
-          'cursor': 'cursor: ',
-          'direction': 'direction: ',
-          'display': 'display: ',
-          'elevation': 'elevation: ',
-          'filter': 'filter: ',
-          'float': 'float: ',
-          'font-family': 'font-family: ',
-          'font-size': 'font-size: ',
-          'font-size-adjust': 'font-size-adjust: ',
-          'font-style': 'font-style: ',
-          'font-variant': 'font-variant: ',
-          'font-weight': 'font-weight: ',
-          'height': 'height: ',
-          '!important': '!important: ',
-          'left': 'left: ',
-          'letter-spacing': 'letter-spacing: ',
-          'line-height': 'line-height: ',
-          'list-style': 'list-style: ',
-          'list-style-image': 'list-style-image: ',
-          'list-style-position': 'list-style-position: ',
-          'list-style-type': 'list-style-type: ',
-          'margin': 'margin: ',
-          'margin-bottom': 'margin-bottom: ',
-          'margin-left': 'margin-left: ',
-          'margin-right': 'margin-right: ',
-          'margin-top': 'margin-top: ',
-          'marks': 'marks: ',
-          'max-height': 'max-height: ',
-          'min-height': 'min-height: ',
-          'max-width': 'max-width: ',
-          'min-width': 'min-width: ',
-          'orphans': 'orphans: ',
-          'overflow': 'overflow: ',
-          'padding': 'padding: ',
-          'padding-bottom': 'padding-bottom: ',
-          'padding-left': 'padding-left: ',
-          'padding-right': 'padding-right: ',
-          'padding-top': 'padding-top: ',
-          'page-break-after': 'page-break-after: ',
-          'page-break-before': 'page-break-before: ',
-          'pause': 'pause: ',
-          'pause-after': 'pause-after: ',
-          'pause-before': 'pause-before: ',
-          'pitch': 'pitch: ',
-          'pitch-range': 'pitch-range: ',
-          'play-during': 'play-during: ',
-          'position': 'position: ',
-          'richness': 'richness: ',
-          'right': 'right: ',
-          'row-span': 'row-span: ',
-          'size': 'size: ',
-          'speak': 'speak: ',
-          'speak-date': 'speak-date: ',
-          'speak-header': 'speak-header: ',
-          'speak-numeral': 'speak-numeral: ',
-          'speak-punctuation': 'speak-punctuation: ',
-          'speak-time': 'speak-time: ',
-          'speech-rate': 'speech-rate: ',
-          'stress': 'stress: ',
-          'table-layout': 'table-layout: ',
-          'text-align': 'text-align: ',
-          'text-decoration': 'text-decoration: ',
-          'text-indent': 'text-indent: ',
-          'text-shadow': 'text-shadow: ',
-          'text-transform': 'text-transform: ',
-          'top': 'top: ',
-          'vertical-align': 'vertical-align: ',
-          'visibility': 'visibility: ',
-          'voice-family': 'voice-family: ',
-          'volume': 'volume: ',
-          'white-space': 'white-space: ',
-          'widows': 'widows: ',
-          'width': 'width: ',
-          'word-spacing': 'word-spacing: ',
-          'z-index': 'z-index: ' }
-};
-opAtt_all["xml:lang"] = opAtt_all["lang"];
-
-// add the common items to all objects
-for(var i in tagLib) {
-i = i.replace(/^h[1-6]$/,"h"); // h1 .. h6
-  for(var j in opTag_all)
-    eval('opTag_'+i+'["'+j+'"] = opTag_all["'+j+'"];');
-  for(var j in opAtt_all)
-    eval('opAtt_'+i+'["'+j+'"] = opAtt_all["'+j+'"];');
-}
\ No newline at end of file