/** {@inheritDoc} */
  @Override
  public int doEndTag() throws JspException {
    // Finish the element
    StringBuilder sbHtml = new StringBuilder();

    sbHtml.append("</");
    sbHtml.append(m_strType);
    sbHtml.append(">");

    popCurrentId();
    TagUtils.write(pageContext, sbHtml.toString());

    restoreId();

    return (EVAL_PAGE);
  }
  /** {@inheritDoc} */
  @Override
  public int doStartTag() throws JspException {
    StringBuilder sbHtml = new StringBuilder();

    adjustId();

    if ((m_strType == null) || (m_strType.length() == 0)) {
      m_strType = DIV_BLOCK_ELEMENT;
    }

    // Generate the start of the element
    sbHtml.append("<");
    sbHtml.append(m_strType);
    sbHtml.append(" ");
    if ((m_strId != null) && (m_strId.length() > 0)) {
      sbHtml.append(" id=\"");
      sbHtml.append(m_strId);
      if ((m_strIdSuffix != null) && (m_strIdSuffix.length() > 0)) {
        sbHtml.append(m_strIdSuffix);
      }
      sbHtml.append("\"");
    }
    if ((m_strCssclass != null) && (m_strCssclass.length() > 0)) {
      sbHtml.append(" class=\"");
      sbHtml.append(m_strCssclass);
      sbHtml.append("\"");
    }
    if ((m_strStyle != null) && (m_strStyle.length() > 0)) {
      sbHtml.append(" style=\"");
      sbHtml.append(m_strStyle);
      sbHtml.append("\"");
    }
    sbHtml.append(">");

    pushCurrentId();
    TagUtils.write(pageContext, sbHtml.toString());

    return (EVAL_BODY_INCLUDE);
  }