Upgrade TinyMCE to v3.4.5
[citadel.git] / webcit / tiny_mce / utils / form_utils.js
index 2617a26edb2b0a60f2fc986c586214a6e3fa56bb..59da01399e1e7c2fe9025f20db26b300ecf06015 100644 (file)
 var themeBaseURL = tinyMCEPopup.editor.baseURI.toAbsolute('themes/' + tinyMCEPopup.getParam("theme"));\r
 \r
 function getColorPickerHTML(id, target_form_element) {\r
-       var h = "";\r
+       var h = "", dom = tinyMCEPopup.dom;\r
 \r
-       h += '<a id="' + id + '_link" href="javascript:;" onclick="tinyMCEPopup.pickColor(event,\'' + target_form_element +'\');" onmousedown="return false;" class="pickcolor">';\r
-       h += '<span id="' + id + '" title="' + tinyMCEPopup.getLang('browse') + '">&nbsp;</span></a>';\r
+       if (label = dom.select('label[for=' + target_form_element + ']')[0]) {\r
+               label.id = label.id || dom.uniqueId();\r
+       }\r
+\r
+       h += '<a role="button" aria-labelledby="' + id + '_label" id="' + id + '_link" href="javascript:;" onclick="tinyMCEPopup.pickColor(event,\'' + target_form_element +'\');" onmousedown="return false;" class="pickcolor">';\r
+       h += '<span id="' + id + '" title="' + tinyMCEPopup.getLang('browse') + '">&nbsp;<span id="' + id + '_label" class="mceVoiceLabel mceIconOnly" style="display:none;">' + tinyMCEPopup.getLang('browse') + '</span></span></a>';\r
 \r
        return h;\r
 }\r
@@ -67,6 +71,9 @@ function selectByValue(form_obj, field_name, value, add_custom, ignore_case) {
        if (!form_obj || !form_obj.elements[field_name])\r
                return;\r
 \r
+       if (!value)\r
+               value = "";\r
+\r
        var sel = form_obj.elements[field_name];\r
 \r
        var found = false;\r
@@ -171,7 +178,7 @@ function convertHexToRGB(col) {
 }\r
 \r
 function trimSize(size) {\r
-       return size.replace(/([0-9\.]+)px|(%|in|cm|mm|em|ex|pt|pc)/, '$1$2');\r
+       return size.replace(/([0-9\.]+)(px|%|in|cm|mm|em|ex|pt|pc)/i, '$1$2');\r
 }\r
 \r
 function getCSSSize(size) {\r
@@ -183,6 +190,9 @@ function getCSSSize(size) {
        // Add px\r
        if (/^[0-9]+$/.test(size))\r
                size += 'px';\r
+       // Sanity check, IE doesn't like broken values\r
+       else if (!(/^[0-9\.]+(px|%|in|cm|mm|em|ex|pt|pc)$/i.test(size)))\r
+               return "";\r
 \r
        return size;\r
 }\r