Type.registerNamespace("Sys.Extended.UI.HtmlEditor.ToolbarButtons"); Sys.Extended.UI.HtmlEditor.ToolbarButtons.FontName = function(element) { Sys.Extended.UI.HtmlEditor.ToolbarButtons.FontName.initializeBase(this, [element]); } Sys.Extended.UI.HtmlEditor.ToolbarButtons.FontName.prototype = { initialize: function() { Sys.Extended.UI.HtmlEditor.ToolbarButtons.FontName.callBaseMethod(this, "initialize"); }, callMethod: function(select, event) { if(!Sys.Extended.UI.HtmlEditor.ToolbarButtons.FontName.callBaseMethod(this, "callMethod")) return false; try { var editor = this._designPanel; editor._execCommand("fontname", false, select.options.item(select.selectedIndex).value); } catch(e) { } }, checkState: function() { if(!Sys.Extended.UI.HtmlEditor.ToolbarButtons.FontName.callBaseMethod(this, "checkState")) return false; var editor = this._designPanel, param = null; try { param = (Function.createDelegate(editor, Sys.Extended.UI.HtmlEditor._queryCommandValue))("fontname"); } catch(e) { } if(!editor._FontNotSet) if(!param || param.length == 0) param = Sys.Extended.UI.HtmlEditor.getStyle(editor._doc.body, "font-family"); var el = this._select, i = 0; if(param && param.length > 0) { var seek = param.toLowerCase().split(",")[0].replace(/^(['"])/, "").replace(/(['"])$/, ""); for(i = 0; i < el.options.length; i++) { var cur = el.options.item(i).value.toLowerCase().split(",")[0]; if(cur == seek) break } if(i == el.options.length) { try { var newopt = document.createElement("OPTION"); newopt.value = param.replace(/^(['"])/, "").replace(/(['"])$/, ""); newopt.text = param.split(",")[0].replace(/^(['"])/, "").replace(/(['"])$/, ""); el.add(newopt, (Sys.Extended.UI.HtmlEditor.isIE) ? i : null); $addHandler(newopt, "click", this._onclick_option$delegate); } catch(e) { i = 0; } } } el.selectedIndex = i; } } Sys.Extended.UI.HtmlEditor.ToolbarButtons.FontName.registerClass("Sys.Extended.UI.HtmlEditor.ToolbarButtons.FontName", Sys.Extended.UI.HtmlEditor.ToolbarButtons.DesignModeSelectButton);