398e3e06a362dd390083f428d8163aeb85e2c05d
chinhli
  Mon Apr 23 21:45:45 2012 -0700
Finished generate userAccount.css in HEAD and class='userAccount' attributes in BODY.
diff --git src/lib/htmshell.c src/lib/htmshell.c
index 88e3dfd..ba710f7 100644
--- src/lib/htmshell.c
+++ src/lib/htmshell.c
@@ -352,30 +352,45 @@
    "<STYLE TYPE=\"text/css\"> "
    "<!-- "
    "A {text-decoration: none} "
    "-->"
    "</STYLE>\n";
 
 void htmlSetStyle(char *style)
 /* Set document wide style. A favorite style to
  * use for many purposes is htmlStyleUndecoratedLink
  * which will remove underlines from links.
  * Needs to be called before htmlStart or htmShell. */
 {
 htmlStyle = style;
 }
 
+static char *htmlStyleSheet = NULL;
+void htmlSetStyleSheet(char *styleSheet)
+/* Set document wide style sheet by adding css name to HEAD part.
+ * Needs to be called before htmlStart or htmShell. */
+{
+htmlStyleSheet = styleSheet;
+}
+
+static char *htmlFormClass = NULL;
+void htmlSetFormClass(char *formClass)
+/* Set class in the BODY part. */
+{
+htmlFormClass = formClass;
+}
+
 static char *htmlBackground = NULL;
 
 void htmlSetBackground(char *imageFile)
 /* Set background - needs to be called before htmlStart
  * or htmShell. */
 {
 htmlBackground = imageFile;
 }
 
 static int htmlBgColor = 0xFFFFFF;
 boolean gotBgColor = FALSE;
 
 void htmlSetBgColor(int color)
 /* Set background color - needs to be called before htmlStart
  * or htmShell. */
@@ -426,32 +441,38 @@
 #else///ifndef TOO_TIMID_FOR_CURRENT_HTML_STANDARDS
     char *browserVersion;
     if (btIE == cgiClientBrowser(&browserVersion, NULL, NULL) && *browserVersion < '8')
         fputs("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 3.2//EN\">\n", f);
     else
         fputs("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",f);
     // Strict would be nice since it fixes atleast one IE problem (use of :hover CSS pseudoclass)
     //fputs("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\" \"http://www.w3.org/TR/html4/strict.dtd\">\n",f);
 #endif///ndef TOO_TIMID_FOR_CURRENT_HTML_STANDARDS
     }
 fputs("<HTML>", f);
 fprintf(f,"<HEAD>\n%s<TITLE>%s</TITLE>\n", head, title);
 fprintf(f, "\t<META http-equiv=\"Content-Script-Type\" content=\"text/javascript\">\n");
 if (htmlStyle != NULL)
     fputs(htmlStyle, f);
+if (htmlStyleSheet != NULL)
+    fprintf(f, "<link href=\"%s\" rel=\"stylesheet\" type=\"text/css\">\n", 
+            htmlStyleSheet);
 fputs("</HEAD>\n\n",f);
 fputs("<BODY",f);
+if (htmlFormClass != NULL )
+    fprintf(f, " CLASS=\"%s\"", htmlFormClass);
+
 if (htmlBackground != NULL )
     fprintf(f, " BACKGROUND=\"%s\"", htmlBackground);
 if (gotBgColor)
     fprintf(f, " BGCOLOR=\"#%X\"", htmlBgColor);
 fputs(">\n",f);
 
 htmlWarnBoxSetup(f);
 }
 
 
 void htmlStart(char *title)
 /* Write the start of an html from CGI */
 {
 puts("Content-Type:text/html");
 puts("\n");