public void encodeScript(IPanelPopup panelPopup, IResponseWriter writer) throws IOException {
   String clientId = panelPopup.getClientId();
   writer.startElement(DIV_ELEM, panelPopup);
   writer.writeAttribute(ID_ATTR, clientId + "_scrDiv");
   writer.writeAttribute(CLASS_ATTR, "mobi-hidden");
   writer.startElement(SPAN_ELEM, panelPopup);
   writer.writeAttribute(ID_ATTR, clientId + "_scrSpan");
   writer.startElement("script", null);
   writer.writeAttribute("type", "text/javascript");
   StringBuilder builder = new StringBuilder(255);
   boolean disabled = panelPopup.isDisabled();
   if (disabled && !panelPopup.isClientSide()) {
     panelPopup.setVisible(false);
   }
   builder
       .append("ice.mobi.panelPopup.init('")
       .append(clientId)
       .append("', {visible: ")
       .append(panelPopup.isVisible())
       .append(", autocenter: ")
       .append(panelPopup.isAutoCenter())
       .append(", client: ")
       .append(panelPopup.isClientSide())
       .append(", id: '")
       .append(panelPopup.getId())
       .append("'");
   if (panelPopup.getWidth() != Integer.MIN_VALUE) {
     builder.append(", width: ").append(panelPopup.getWidth());
   }
   if (panelPopup.getHeight() != Integer.MIN_VALUE) {
     builder.append(", height: ").append(panelPopup.getHeight());
   }
   if (null != panelPopup.getStyleClass()) {
     builder.append(", sclass: '").append(panelPopup.getStyleClass()).append("'");
   }
   if (panelPopup.getStyle() != null) {
     builder.append(", style: '").append(panelPopup.getStyle()).append("'");
   }
   if (disabled) {
     builder.append(", disabled: ").append(panelPopup.isDisabled());
   }
   builder.append("});");
   writer.write(builder.toString());
   writer.endElement("script");
   writer.endElement(SPAN_ELEM);
   writer.endElement(DIV_ELEM);
 }