@Override
  public void copyFrameworkAttributes(
      FacesContext facesContext, InputRichText inputRichText, InputEditorTag inputEditorTag) {

    inputEditorTag.setCssClass(inputRichText.getStyleClass());

    // When ckeditor.jsp renders a hidden textarea, the name is rendered as the id and name
    // attributes of the
    // textarea element. Since this renderer creates its own textarea, it is necessary to set a name
    // that will
    // not interfere when decoding.
    String editorType = getEditorType(inputRichText);
    String escapedEditorName = inputRichText.getClientId();

    char separatorChar = UINamingContainer.getSeparatorChar(facesContext);
    escapedEditorName = escapedEditorName.replace(separatorChar, '_').concat("_jsptag");

    if ("bbcode".equals(editorType)) {
      inputEditorTag.setName(escapedEditorName + "_bbcodeInput");
    } else {
      inputEditorTag.setName(escapedEditorName + "_nonInput");
    }
  }
  @Override
  public void copyNonFrameworkAttributes(
      FacesContext facesContext, InputRichText inputRichText, InputEditorTag inputEditorTag) {

    inputEditorTag.setConfigParams(inputRichText.getConfigParams());
    inputEditorTag.setContentsLanguageId(inputRichText.getContentsLanguageId());
    inputEditorTag.setEditorImpl(inputRichText.getEditorKey());
    inputEditorTag.setFileBrowserParams(inputRichText.getFileBrowserParams());

    char separatorChar = UINamingContainer.getSeparatorChar(facesContext);
    String clientId = inputRichText.getClientId();
    String functionNamespace = clientId.replace(separatorChar, '_');
    inputEditorTag.setInitMethod(functionNamespace + "init");
    inputEditorTag.setOnBlurMethod(functionNamespace + "blur");
    inputEditorTag.setOnChangeMethod(functionNamespace + "change");
    inputEditorTag.setOnFocusMethod(functionNamespace + "focus");
    inputEditorTag.setResizable(inputRichText.isResizable());
    inputEditorTag.setSkipEditorLoading(inputRichText.isSkipEditorLoading());
    inputEditorTag.setToolbarSet(inputRichText.getToolbarSet());
  }