/**\r
- * $Id: form_utils.js 673 2008-03-06 13:26:20Z spocke $\r
+ * form_utils.js\r
*\r
- * Various form utilitiy functions.\r
+ * Copyright 2009, Moxiecode Systems AB\r
+ * Released under LGPL License.\r
*\r
- * @author Moxiecode\r
- * @copyright Copyright © 2004-2008, Moxiecode Systems AB, All rights reserved.\r
+ * License: http://tinymce.moxiecode.com/license\r
+ * Contributing: http://tinymce.moxiecode.com/contributing\r
*/\r
\r
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') + '"></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') + '"> <span id="' + id + '_label" class="mceVoiceLabel mceIconOnly" style="display:none;">' + tinyMCEPopup.getLang('browse') + '</span></span></a>';\r
\r
return h;\r
}\r
\r
html = "";\r
html += '<a id="' + id + '_link" href="javascript:openBrowser(\'' + id + '\',\'' + target_form_element + '\', \'' + type + '\',\'' + option + '\');" onmousedown="return false;" class="browse">';\r
- html += '<span id="' + id + '" title="' + tinyMCEPopup.getLang('browse') + '"></span></a>';\r
+ html += '<span id="' + id + '" title="' + tinyMCEPopup.getLang('browse') + '"> </span></a>';\r
\r
return html;\r
}\r
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
function getSelectValue(form_obj, field_name) {\r
var elm = form_obj.elements[field_name];\r
\r
- if (elm == null || elm.options == null)\r
+ if (elm == null || elm.options == null || elm.selectedIndex === -1)\r
return "";\r
\r
return elm.options[elm.selectedIndex].value;\r
}\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
// 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