public void _jspService(
      final javax.servlet.http.HttpServletRequest request,
      final javax.servlet.http.HttpServletResponse response)
      throws java.io.IOException, javax.servlet.ServletException {

    final javax.servlet.jsp.PageContext pageContext;
    javax.servlet.http.HttpSession session = null;
    final javax.servlet.ServletContext application;
    final javax.servlet.ServletConfig config;
    javax.servlet.jsp.JspWriter out = null;
    final java.lang.Object page = this;
    javax.servlet.jsp.JspWriter _jspx_out = null;
    javax.servlet.jsp.PageContext _jspx_page_context = null;

    try {
      response.setContentType("text/html");
      pageContext = _jspxFactory.getPageContext(this, request, response, null, true, 8192, true);
      _jspx_page_context = pageContext;
      application = pageContext.getServletContext();
      config = pageContext.getServletConfig();
      session = pageContext.getSession();
      out = pageContext.getOut();
      _jspx_out = out;

      out.write("\r\n\r\n");

      final DisplayState theDisplayState = (DisplayState) request.getAttribute(MasterServlet.STATE);
      final Frame frame = (Frame) request.getAttribute(AbstractChip.FRAME_KEY);

      /*
       //to be definitive NOT serializable
      InputStream noser = (InputStream)session.getAttribute( "NOT_SERIALIZABLE");
      if( noser==null )
      {
      	session.setAttribute( "NOT_SERIALIZABLE", new ByteArrayInputStream( new byte[0] ));
      }
      */

      out.write('\r');
      out.write('\n');

      GenericConditionChip theChip =
          (GenericConditionChip) request.getAttribute(AbstractChip.CHIP_KEY);

      out.write("\r\n<td class=\"attribute\">\r\n\t<div class=\"attribute\">");
      out.print(theChip.getName());
      out.write(
          "</div>\r\n</td>\r\n<td class=\"locale\">\r\n\t<div class=\"locale\">&nbsp;</div>\r\n</td>\r\n<td class=\"comparator\">\r\n\t<div class=\"comparator\">");
      theChip.getOperatorEditor().render(pageContext);
      out.write("</div>\r\n</td>\r\n<td class=\"condition\">\r\n\t<div class=\"condition\">\r\n");

      if (theChip.getValueEditor() != null) {
        theChip.getValueEditor().render(pageContext);
      } else {

        out.write("\r\n\t\t\t&nbsp;\r\n");
      }

      out.write("\r\n\t</div>\r\n</td>\r\n");
    } catch (java.lang.Throwable t) {
      if (!(t instanceof javax.servlet.jsp.SkipPageException)) {
        out = _jspx_out;
        if (out != null && out.getBufferSize() != 0)
          try {
            if (response.isCommitted()) {
              out.flush();
            } else {
              out.clearBuffer();
            }
          } catch (java.io.IOException e) {
          }
        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
        else throw new ServletException(t);
      }
    } finally {
      _jspxFactory.releasePageContext(_jspx_page_context);
    }
  }
  public void _jspService(
      final javax.servlet.http.HttpServletRequest request,
      final javax.servlet.http.HttpServletResponse response)
      throws java.io.IOException, javax.servlet.ServletException {

    final javax.servlet.jsp.PageContext pageContext;
    javax.servlet.http.HttpSession session = null;
    final javax.servlet.ServletContext application;
    final javax.servlet.ServletConfig config;
    javax.servlet.jsp.JspWriter out = null;
    final java.lang.Object page = this;
    javax.servlet.jsp.JspWriter _jspx_out = null;
    javax.servlet.jsp.PageContext _jspx_page_context = null;

    try {
      response.setContentType("text/html");
      pageContext = _jspxFactory.getPageContext(this, request, response, null, true, 8192, true);
      _jspx_page_context = pageContext;
      application = pageContext.getServletContext();
      config = pageContext.getServletConfig();
      session = pageContext.getSession();
      out = pageContext.getOut();
      _jspx_out = out;

      out.write("\r\n\r\n");

      final DisplayState theDisplayState = (DisplayState) request.getAttribute(MasterServlet.STATE);
      final Frame frame = (Frame) request.getAttribute(AbstractChip.FRAME_KEY);

      /*
       //to be definitive NOT serializable
      InputStream noser = (InputStream)session.getAttribute( "NOT_SERIALIZABLE");
      if( noser==null )
      {
      	session.setAttribute( "NOT_SERIALIZABLE", new ByteArrayInputStream( new byte[0] ));
      }
      */

      out.write("\r\n\r\n");

      final IconChip theChip = (IconChip) request.getAttribute(AbstractChip.CHIP_KEY);
      final boolean explorable = theChip.isExplorable();
      final String iconURI = explorable ? theChip.getIconURI() : theChip.getNonExplorableIconURI();
      final String iconLabel = theChip.getIconTitle();
      final String iconTooltip = theChip.getIconTooltip();
      final String altTxt =
          iconTooltip != null ? " alt=\"" + iconTooltip.replace("\"", "''") + "\" " : "";
      final String toolTipTxt =
          iconTooltip != null ? " title=\"" + iconTooltip.replace("\"", "''") + "\" " : "";

      final int[] box = theChip.getBoxSize();
      final int boxWidth = box != null && box[0] > 0 ? box[0] : -1;
      final boolean useWidth = boxWidth > 0;
      final int boxHeight = box != null && box[1] > 0 ? box[1] : -1;
      final boolean useHeight = boxHeight > 0;

      final List menuEntries = theChip.getMenuEntries();
      final String contextMenu =
          theChip.hasVisibleContextMenuEntries()
              ? "(new Menu("
                  + theChip.createMenuEntriesForJS(menuEntries)
                  + ", event, null, null, { uniqueName: '"
                  + theChip.getUniqueName()
                  + "'} )).show(); return false;"
              : "return false;";

      final String widthStyle = useWidth ? "width:" + boxWidth + "px;" : "";
      final String heightStyle = useHeight ? "height:" + (boxHeight / 2) + "px;" : "";

      out.write("\r\n<table id=\"box_");
      out.print(theChip.getID());
      out.write(
          "\"\r\n\t\t cellpadding=\"0\"\r\n\t\t cellspacing=\"0\"\r\n\t\t border=\"0\"\r\n\t\t ");
      out.print(toolTipTxt);
      out.write("\r\n\t\t oncontextmenu=\"");
      out.print(contextMenu);
      out.write("\"\r\n\t\t class=\"iconChip\"\r\n  \t\t onMouseover=\"");
      out.print(explorable ? "this.style.backgroundColor = '#ffffff'; return true;" : "");
      out.write("\"\r\n  \t\t onMouseout=\"");
      out.print(explorable ? "this.style.backgroundColor = '#f2f2f5'; return true;" : "");
      out.write("\"\r\n  \t\t >\r\n\t<tr>\r\n\t\t<td>\r\n\t\t\t<div style=\"");
      out.print(heightStyle);
      out.write(' ');
      out.print(widthStyle);
      out.write(
          "\">\r\n\t\t\t\t<table cellpadding=\"0\" cellspacing=\"0\">\r\n\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t<td>\r\n");
      if (explorable) {

        out.write(
            "\r\n\t\t\t\t\t\t\t\t<a href=\"#\" hidefocus=\"true\"\r\n\t\t\t\t\t\t\t\t\tonFocus=\"document.getElementById('box_");
        out.print(theChip.getID());
        out.write(
            "').style.backgroundColor = '#ffffff'; return true;\"\r\n\t\t\t\t\t\t\t\t\tonblur=\"document.getElementById('box_");
        out.print(theChip.getID());
        out.write(
            "').style.backgroundColor = '#f2f2f5'; return true;\"\r\n\t\t\t\t\t\t\t\t\tonclick=\"setEvent('");
        out.print(theChip.getCommandID(IconChip.CLICK));
        out.write(
            "', 'true' ); setScrollAndSubmit();return false;\"\r\n\t\t\t\t\t\t\t\t\tonmouseover=\"window.status='open'; return true;\" \r\n\t\t\t\t\t\t\t\t\tonMouseOut=\"window.status=''; return true;\"\r\n\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t<img src=\"");
        out.print(iconURI);
        out.write("\" \r\n\t\t\t\t\t\t\t\t\t\t  ");
        out.print(altTxt);
        out.write(" \r\n\t\t\t\t\t\t\t\t\t\t  ");
        out.print(heightStyle);
        out.write("\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t<!--<img src=\"");
        out.print(iconURI);
        out.write('"');
        out.write(' ');
        out.print(altTxt);
        out.write(" />-->\r\n\t\t\t\t\t\t\t\t</a>\r\n");
      } else {

        out.write("\r\n\t\t\t\t\t\t\t\t<img src=\"");
        out.print(iconURI);
        out.write("\" \r\n\t\t\t\t\t\t\t\t\t  ");
        out.print(altTxt);
        out.write(" \r\n\t\t\t\t\t\t\t\t\t  ");
        out.print(heightStyle);
        out.write("\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t<!--<img src=\"");
        out.print(iconURI);
        out.write('"');
        out.write(' ');
        out.print(altTxt);
        out.write(" />-->\r\n");
      }

      out.write(
          "\r\n\t\t\t\t\t\t</td>\r\n\t\t\t\t\t</tr>\r\n\t\t\t\t</table>\r\n\t\t\t</div>\r\n\t\t</td>\r\n\t</tr>\r\n\t<tr>\r\n\t\t<td class=\"smallText\" style=\"");
      out.print(heightStyle);
      out.print(widthStyle);
      out.write("\">\r\n\t\t\t<small>");
      out.print(iconLabel);
      out.write("</small>\r\n\t\t</td>\r\n\t</tr>\r\n</table>\n");
    } catch (java.lang.Throwable t) {
      if (!(t instanceof javax.servlet.jsp.SkipPageException)) {
        out = _jspx_out;
        if (out != null && out.getBufferSize() != 0)
          try {
            if (response.isCommitted()) {
              out.flush();
            } else {
              out.clearBuffer();
            }
          } catch (java.io.IOException e) {
          }
        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
        else throw new ServletException(t);
      }
    } finally {
      _jspxFactory.releasePageContext(_jspx_page_context);
    }
  }
  public void _jspService(
      final javax.servlet.http.HttpServletRequest request,
      final javax.servlet.http.HttpServletResponse response)
      throws java.io.IOException, javax.servlet.ServletException {

    final javax.servlet.jsp.PageContext pageContext;
    javax.servlet.http.HttpSession session = null;
    final javax.servlet.ServletContext application;
    final javax.servlet.ServletConfig config;
    javax.servlet.jsp.JspWriter out = null;
    final java.lang.Object page = this;
    javax.servlet.jsp.JspWriter _jspx_out = null;
    javax.servlet.jsp.PageContext _jspx_page_context = null;

    try {
      response.setContentType("text/html");
      pageContext = _jspxFactory.getPageContext(this, request, response, null, true, 8192, true);
      _jspx_page_context = pageContext;
      application = pageContext.getServletContext();
      config = pageContext.getServletConfig();
      session = pageContext.getSession();
      out = pageContext.getOut();
      _jspx_out = out;

      out.write("\r\n\r\n");

      final DisplayState theDisplayState = (DisplayState) request.getAttribute(MasterServlet.STATE);
      final Frame frame = (Frame) request.getAttribute(AbstractChip.FRAME_KEY);

      /*
       //to be definitive NOT serializable
      InputStream noser = (InputStream)session.getAttribute( "NOT_SERIALIZABLE");
      if( noser==null )
      {
      	session.setAttribute( "NOT_SERIALIZABLE", new ByteArrayInputStream( new byte[0] ));
      }
      */

      out.write('\r');
      out.write('\n');

      final AbstractAutocompleterToolbarActionChip theChip =
          (AbstractAutocompleterToolbarActionChip) request.getAttribute(AbstractChip.CHIP_KEY);

      final String label = (theChip.getLabel() == null ? "" : localized(theChip.getLabel()));
      final String tooltip =
          (theChip.getTooltip() == null ? label : localized(theChip.getTooltip()));
      final String width =
          theChip.getWidth() != null && theChip.getWidth().length() > 0
              ? theChip.getWidth()
              : "200px";
      final String value = theChip.getValue() != null ? "value=\"" + theChip.getValue() + "\"" : "";

      final String contextMenu =
          theChip.hasVisibleContextMenuEntries()
              ? "(new Menu("
                  + theChip.createMenuEntriesForJS(theChip.getMenuEntries())
                  + ", event, null, null, { uniqueName: '"
                  + theChip.getUniqueName()
                  + "'} )).show(); return false;"
              : "return false;";

      out.write("\r\n\r\n<td title=\"");
      out.print(tooltip);
      out.write("\" class=\"toolbar-autocomplete\" oncontextmenu=\"");
      out.print(contextMenu);
      out.write(
          "\">\r\n\t<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\">\r\n\t\t<tr>\r\n\t\t\t<td class=\"label\">");
      out.print(label);
      out.write(":</td>\r\n\t\t\t<td><input type=\"text\" \r\n\t\t\t\t\t\t id=\"");
      out.print(theChip.getInputID());
      out.write("\" \r\n\t\t\t\t\t\t style=\"width:");
      out.print(width);
      out.write(";\"\r\n\t\t\t\t\t\t name=\"");
      out.print(theChip.getEventID(AbstractAutocompleterToolbarActionChip.VALUE));
      out.write("\" \r\n\t\t\t\t\t\t ");
      out.print(value);
      out.write("/><div id=\"");
      out.print(theChip.getMatchesID());
      out.write("\" class=\"autocomplete\"></div></td>\r\n\t\t</tr>\r\n\t</table>\r\n</td>\r\n");

      final String options =
          "{ paramName: '"
              + AbstractAutocompleterToolbarActionChip.SEARCH
              + "',"
              + "afterUpdateElement: function(inputElement, selectedListItem) "
              + "{ if( selectedListItem.nodeName == \"LI\" )"
              + "{ setEvent('"
              + theChip.getCommandID(AbstractAutocompleterToolbarActionChip.SELECT)
              + "', domQuery('span.hidden', selectedListItem)[0].firstChild.nodeValue);setScrollAndSubmit(); }"
              + "else "
              + "{	inputElement.value = \"\"; }},"
              + "onShow:       function(element, update)"
              + "{ if(!update.style.position || update.style.position=='absolute')"
              + "{	update.style.position = 'absolute'; Position.clone(element, update, { setHeight: false, setWidth:false, offsetTop: element.offsetHeight }); }"
              + "Effect.Appear(update,{duration:0.15}); } }";
      final String tenantIDStr =
          Registry.getCurrentTenant() instanceof SlaveTenant
              ? ";tenantID=" + Registry.getCurrentTenant().getTenantID()
              : "";

      out.write("\r\n<script language=\"JavaScript1.2\">\r\n\t\r\n\tnew Ajax.Autocompleter(\"");
      out.print(theChip.getInputID());
      out.write("\", \"");
      out.print(theChip.getMatchesID());
      out.write("\", \"prototype");
      out.print(tenantIDStr);
      out.write('?');
      out.print(PrototypeServlet.CHIPID);
      out.write('=');
      out.print(theChip.getID());
      out.write('"');
      out.write(',');
      out.write(' ');
      out.print(options);
      out.write(");\r\n\r\n</script>\r\n\t\t\n");
    } catch (java.lang.Throwable t) {
      if (!(t instanceof javax.servlet.jsp.SkipPageException)) {
        out = _jspx_out;
        if (out != null && out.getBufferSize() != 0)
          try {
            if (response.isCommitted()) {
              out.flush();
            } else {
              out.clearBuffer();
            }
          } catch (java.io.IOException e) {
          }
        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
        else throw new ServletException(t);
      }
    } finally {
      _jspxFactory.releasePageContext(_jspx_page_context);
    }
  }
  public void _jspService(
      final javax.servlet.http.HttpServletRequest request,
      final javax.servlet.http.HttpServletResponse response)
      throws java.io.IOException, javax.servlet.ServletException {

    final javax.servlet.jsp.PageContext pageContext;
    javax.servlet.http.HttpSession session = null;
    final javax.servlet.ServletContext application;
    final javax.servlet.ServletConfig config;
    javax.servlet.jsp.JspWriter out = null;
    final java.lang.Object page = this;
    javax.servlet.jsp.JspWriter _jspx_out = null;
    javax.servlet.jsp.PageContext _jspx_page_context = null;

    try {
      response.setContentType("text/html");
      pageContext = _jspxFactory.getPageContext(this, request, response, null, true, 8192, true);
      _jspx_page_context = pageContext;
      application = pageContext.getServletContext();
      config = pageContext.getServletConfig();
      session = pageContext.getSession();
      out = pageContext.getOut();
      _jspx_out = out;

      out.write("\r\n\r\n");

      final DisplayState theDisplayState = (DisplayState) request.getAttribute(MasterServlet.STATE);
      final Frame frame = (Frame) request.getAttribute(AbstractChip.FRAME_KEY);

      /*
       //to be definitive NOT serializable
      InputStream noser = (InputStream)session.getAttribute( "NOT_SERIALIZABLE");
      if( noser==null )
      {
      	session.setAttribute( "NOT_SERIALIZABLE", new ByteArrayInputStream( new byte[0] ));
      }
      */

      out.write('\r');
      out.write('\n');

      GenericTRChip theChip = (GenericTRChip) request.getAttribute(AbstractChip.CHIP_KEY);

      out.write("\r\n<tr ");
      out.print((theChip.getHeight() != null ? " height=\"" + theChip.getHeight() + "\"" : ""));
      out.print((theChip.getWidth() != null ? " width=\"" + theChip.getWidth() + "\"" : ""));
      out.write('>');
      out.write('\r');
      out.write('\n');

      for (final Iterator it = theChip.getChildren().iterator(); it.hasNext(); ) {
        final GenericTDChip chip = (GenericTDChip) it.next();
        chip.render(pageContext);
      }

      out.write("\r\n</tr>\r\n");
    } catch (java.lang.Throwable t) {
      if (!(t instanceof javax.servlet.jsp.SkipPageException)) {
        out = _jspx_out;
        if (out != null && out.getBufferSize() != 0)
          try {
            if (response.isCommitted()) {
              out.flush();
            } else {
              out.clearBuffer();
            }
          } catch (java.io.IOException e) {
          }
        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
        else throw new ServletException(t);
      }
    } finally {
      _jspxFactory.releasePageContext(_jspx_page_context);
    }
  }