/**
*  Html Class
*/

public class Html {

/**
 * Html Constructor
 *
 * Don't let anyone instantiate this class
 */

 private Html() {

 }

/**
 * getHtml    Method
 *
 * @parm      String      s
 * @return    String
 */

  public static String getHtml(String s) {
      return "\n\n" + s + "\n";
  }

/**
 * getHead     Method
 *
 * @parm       String     data
 * @return     String
 */

  public static String getHead(String s) {
      return "<Head>\n" + s + "\n</Head>\n";
  }


/**
 * getTitle    Method
 *
 * @parm       String     data
 * @return     String
 */

  public static String getTitle(String s) {
      return "<title>\n" + s + "\n</title>\n";
  }


/**
 * getBody     Method
 *
 * @parm       String     data
 * @return     String
 */

  public static String getBody(String s) {
      return "<body>\n" + s + "\n</body>";
  }


/**
 * getH1       Method
 *
 * @parm       String     data
 * @return     String
 */

  public static String getH1(String s) {
      return "<h1>\n" + s + "\n</h1>";
  }

/**
 * getH2       Method
 *
 * @parm       String     data
 * @return     String
 */

  public static String getH2(String s) {
      return "<h2>\n" + s + "\n</h2>";
  }


/**
 * getH3       Method
 *
 * @parm       String     data
 * @return     String
 */

  public static String getH3(String s) {
      return "<h3>\n" + s + "\n</h3>";
  }



/**
 * getH4       Method
 *
 * @parm       String     data
 * @return     String
 */

  public static String getH4(String s) {
      return "<h4>\n" + s + "\n</h4>";
  }


/**
 * getH5       Method
 *
 * @parm       String     data
 * @return     String
 */

  public static String getH5(String s) {
      return "<h5>\n" + s + "\n</h5>";
  }


/**
 * getH6       Method
 *
 * @parm       String     data
 * @return     String
 */

  public static String getH6(String s) {
      return "<h6>\n" + s + "\n</h6>";
  }


/**
 * getForm      Method
 *
 * @parm        String         action
 * @parm        String         method
 * @parm        String         data
 * @return      String
 */

  public static String getForm(String action, String method, String s) {
      return "\n<form action=" + quote(action) +
             "method=" + quote(method) +">\n"  +
              s + ' '     + " </form >\n";
  }


/**
 * getForm      Method
 *
 * @parm        String         name
 * @parm        String         action
 * @parm        String         method
 * @parm        String         data
 * @return      String
 */

  public static String getForm(String name, String action,
                               String method, String s) {
      return "\n<form name=" + quote(name)
              + " " + "action=" + quote(action)
              + " " + "method=" + quote(method)
              + " " + "target=" + quote("_self")
              +">\n"
              + s + ' ' + " </form >\n";
  }


/**
 * getTable     Method
 *
 * @parm        String         data
 * @parm        String         border
 * @parm        String         width
 * @parm        String         noWrap
 * @return      String
 */

  public static String getTable(String s, String border,
                         String width, String noWrap) {

      return "\n<Table Border=" + quote(border) +
             "Width=" + quote(width) + noWrap + ">" +
              s + "</Table>";

  }

/**
 * getTable     Method
 *
 * @parm        String         data
 * @parm        String         border
 * @parm        String         width
 * @parm        String         noWrap
 * @return      String
 */

  public static String getTable(String s, String align, String border,
                                String width, String noWrap) {

      return "\n<Table Align = " + quote(align)
           + "Border=" + quote(border)
           + "Width=" + quote(width)
           + noWrap + ">"
           + s
           + "</Table>";

  }

/**
 * getTable     Method
 *
 * @parm        int            no of rows
 * @parm        int            no of columns
 * @return      String
 */

  public static String getTable(int nr, int nc) {
      String s = "\n<Table Border=1>";

      for (int r = 1; r <= nr; r++) {
          s = s + getTr(getRow(r, nc));
          // assume number of columns is the
          // same for each row
      }

      return s + "</table>";
  }


/**
 * getSheet    Method
 *
 * @parm       String[][]  data
 * @return     String
 */

  public static String getSheet(String a[]) {
      String s = "";

      for (int i=0; i < a.length; i++) {
           s = s + "<tr>" + getTd(a[i]) + "</tr>\n" ;
      }

      return s;
  }


/**
 * getSheet    Method
 *
 * @parm       String[][]  data
 * @return     String
 */

  public static String getSheet(String a[][]) {
      String s = "";

      for (int i=0; i < a.length; i++) {
           s = s + "<tr>";

          for (int j=0; j < a[i].length; j++) {
              s = s + getTd(a[i][j]);
          }

          s = s + "</tr>\n";
      }

    return s;
  }



/**
 * getRow      Method
 *
 * @parm       String     data
 * @return     String
 */

  public static String getRow(String s) {
      return "\n <tr>" + s + "</tr>";

  }


/**
 * getRow      Method
 *
 * @parm       String     data
 * @parm       String     align
 * @return     String
 */

  public static String getRow(String s, String align) {
      return "\n <tr align=" + quote(align) + ">" + s + "</tr>";

  }


/**
 * getRow      Method
 *
 * @parm       int        no of rows
 * @parm       int        no of columns
 * @return     String
 */

  public static String getRow(int r, int nc) {
      String s = "";

      for (int c = 1; c <= nc; c++)
          s = s + getTd(r + "," + c + " ");

      return s;

  }


/**
 * getTr       Method
 *
 * @parm       String     data
 * @return     String
 */

  public static String getTr(String s) {
      return "<tr>" + s + "</tr>\n";
  }


/**
 * getTd       Method
 *
 * @parm       String     data
 * @return     String
 */

  public static String getTd(int w, int h, String s) {
      return "\n\t<td width=\""
              + w
              + "\" height=\"" + h + "\">"
              + s +
              "</td>\n";
  }


/**
 * getTd       Method
 *
 * @parm       String     data
 * @parm       String     colspan
 * @return     String
 */

  public static String getTd( String s, String colSpan) {
      return "\n\t<td colspan=" + quote(colSpan) + ">"
              +s+
             "</td>\n";
  }


/**
 * getTd       Method
 *
 * @parm       String     data
 * @return     String
 */

  public static String getTd( String s) {
      return "\n\t<td>"
              + s +
              "</td>\n";
  }


/**
 * getTd       Method
 *
 * @parm       String[]       data array
 * @return     String
 */

  public static String getTd( String [] s) {
      String str = "";

      for (int i=0; i < s.length; i++) {
              str = str + getTd(s[i]);
      }

      return str;
  }


/**
 * getInput    Method
 *
 * @parm       String      type
 * @parm       String      name
 * @parm       String      value
 * @parm       int         size
 * @return     String
 */

  public static String getInput(String type, String name,
                                String value, int size) {
      return
          "\n<input type=" + quote(type)
          + "name=" + quote(name)
          + " value="+ quote(value)
          + "size=" + size
          + ">\n";
  }


/**
 * getInput    Method
 *
 * @parm       String      type
 * @parm       String      name
 * @parm       int         size
 * @return     String
 */

  public static String getInput(String type, String name, String value) {
      return
          "\n<input type=" + quote(type)
          + "name=" + quote(name)
          + " value="+ quote(value)
          + ">";
  }

/**
 * getInput    Method
 *
 * @parm       String      type
 * @parm       String      name
 * @parm       int         size
 * @return     String
 */

  public static String getInput(String type, String name, String value,
                                    String event, String eventAction) {
      return
          "\n<input type=" + quote(type)
          + " " + "name=" + quote(name)
          + " " + "value="+ quote(value)
          + " " + event + "=" + quote(eventAction)
          + ">";
  }

/**
 * getTextField Method
 *
 * @parm        String         name
 * @return      String
 */

  public static String getTextField(String name) {

      return getTextField(name, "", 30);
  }


/**
 * getTextField Method
 *
 * @parm        String         name
 * @parm        String         value
 * @return      String
 */

  public static String getTextField(String name, String value) {

      return getTextField(name, value, 30);
  }

/**
 * getTextField Method
 *
 * @parm        String         name
 * @parm        String         value
 * @parm        int            size
 * @return      String
 */


  public static String getTextField(String name, String value, int size) {

      return getInput("text", name, value, size);
  }

/**
 * getPassField Method
 *
 * @parm        String         name
 * @return      String
 */

  public static String getPassField(String name) {

      return getPassField(name, "", 30);
  }


/**
 * getPassField Method
 *
 * @parm        String         name
 * @parm        String         value
 * @return      String
 */

  public static String getPassField(String name, String value) {

      return getPassField(name, value, 30);
  }

/**
 * getPassField Method
 *
 * @parm        String         name
 * @parm        String         value
 * @parm        int            size
 * @return      String
 */

  public static String getPassField(String name, String value, int size) {

      return getInput("password", name, value, size);
  }


/**
 * getHiddenField Method
 *
 * @parm        String         name
 * @parm        String         value
 * @return      String
 */

  public static String getHiddenField(String name, String value) {

      return getInput("Hidden", name, value);
  }


/**
 * getSelect   Method
 *
 * @parm       String      name
 * @return     String
 */

  public static String getSelect(String name) {
      return  "\n\t" + "<Select "
              + "name=" + quote(name)
              + ">";
  }


/**
 * getOption   Method
 *
 * @parm       String      value
 * @return     String
 */

  public static String getOption(String value) {
      return "\n\t\t" + "<Option "
             + "Value=" + quote(value)
             + ">" + value +
// deh 10/17/01 - added the closing tag for the option html tag
             "</Option>";
  }


/**
 * getRadio    Method
 *
 * @parm       String      name
 * @parm       String      value
 * @return     String
 */

  public static String getRadio(String name, String value) {

      return  getInput("radio",name,value) + value;
  }


/**
 * getRadioButtons     Method
 *
 * @parm               String      name
 * @parm               int         no of buttons
 * @return             String
 */

  public static String  getRadioButtons(String name, int b) {
      String s ="";

      for (int i=1; i <= b; i++)
          s = s + getRadio(name, i+"");

      return s;
  }


/**
 * getComboBox Method
 * @author    Dawn Hallaman
 *
 * @parm       String      name
 * @parm       int         value
 * @parm       String      value
 * @return     String
 */

  public static String  getComboBox(String name, int value, String str) {

      String s = "" + getSelect(name);

      for (int i = 1; i <= value; i++) {
          s = s + getOption(i + "") ;
      }

// Gets the final option
// deh - 10/17/01 added the closing /select tag to fix bug

      s = s + getOption(str + "")+ "\n\t</Select>";
      return s;
  }


/**
 * getComboBox Method
 *
 * @parm       String      name
 * @parm       String[]    value
 * @return     String
 */

  public static String  getComboBox(String name, String[] value) {

      String s = "" + getSelect(name);

      for (int i = 0; i < value.length; i++) {
          s = s + getOption(value[i] + "") ;
      }

      s = s + "\n\t</Select>";

      return s;
  }

/**
 * getCommandButton Method
 *
 * @return          String
 */

  public static String getCommandButton(String name,  String value,
                                        String event, String eventAction){

      return getInput("Button", name, value, event, eventAction);
  }


/**
 * getSubmitButton Method
 *
 * @return         String
 */

  public static String getSubmitButton() {

      return getInput("Submit", "Submit", "Submit");
  }

/**
 * getSubmitButton Method
 *
 * @return         String
 */

  public static String getSubmitButton(String name) {

      return getInput("Submit", name, name);
  }

/**
 * getResetButton Method
 *
 * @return        String
 */

  public static String getResetButton() {

      return getInput("Reset", "Reset", "Reset");
  }

/**
 * getListItem Method
 *
 * @parm       String     data
 * @return     String
 */

  public static String getListItem(String s) {

      return "<li>\n" + s + "\n</li>";
  }


/**
 * getBreak    Method
 *
 * @return     String
 */

  public static String getBreak() {

      return "\n<br>\n ";
  }


/**
 * getBold     Method
 *
 * @return     String
 */

  public static String getBold(String s) {

      return "<b>" + s + "</b>";
  }

/**
 * getUnderline Method
 *
 * @return      String
 */

  public static String getUnderline(String s) {

      return "<u>" + s + "</u>";
  }

/**
 * getCenter   Method
 *
 * @return     String
 */

  public static String getCenter(String s) {

      return "<center>" + s + "</center>";
  }


/**
 * getP        Method
 *
 * @parm       String     data
 * @return     String
 */

  public static String getP(String s) {

      return "<p>\n" + s + "\n</p>";
  }

/**
 * quote        Method
 *
 * @parm        String         data
 * @return      String
 */

  public static String quote(String s) {

      return '\"' + s + "\" ";
  }

/**
 * getFont      Method
 *
 * @parm        String         data
 * @parm        String         size
 * @return      String
 */

  public static String getFont(String s, String size) {

      return "<font " + "size = " + size + ">"
             + s
             + "</font>";
  }

/**
 * getImage     Method
 *
 * @parm        String         source
 * @parm        String         align
 * @return      String
 */

  public static String getImage(String s, String align) {

      return "<image "
             + " src = " + s
             + " align = " + align
             + ">" ;
  }

/**
 * getScript    Method
 *
 * @parm        String         lang
 * @return      String
 */

  public static String getScript(String lang) {

      return "<script "
             + " language = " + quote(lang)
             + ">"
             + "\n"
             + "</script>";
  }



public static String singleQuote(String s) {

      return "'" + s + "'";
  }

}
