// Generated by SAS macro jsWriter 04APR02:17:23:58
// Richard A. DeVenezia
// http://www.devenezia.com

function title1 () {
  document.write (
    "<H1><A HREF='http://www.devenezia.com/downloads/sas/macros/jsTitleAndFootnote.sas'>jsTitleAndFootnot"
  + "e.sas</A></H1> <P ALIGN=LEFT STYLE='margin-top:12pt;font:normal bold 12pt monospace'> Richard A. DeV"
  + "enezia<BR> <A HREF='http://www.devenezia.com'>http://www.devenezia.com</A><BR> If you find these mac"
  + "ros useful, please <A HREF='/contact.php'>let me know</A> </P> <DIV STYLE='padding:"
  + "4pt;background-color:white;color:black;font:normal 10pt monospace'> <P> I have developed a  suite of"
  + " macros to enable long titles or footnotes when working with ODS HTML. The macros store Title and Fo"
  + "otnote information in a separate file in specially constructed javascript functions.  The macros als"
  + "o generate SAS Title and Footnote statements that are formulated to invoke the javascript functions."
  + "  Thus, when the ODS HTML created page is accessed by a web browser the title and footnote informati"
  + "on is delivered to the reader. </P> Macros and Usage: <HR NOSHADE><b> %jsTitleFootnoteReset</b> ( <i"
  + ">fileref</i> ) <P> <i>fileref</i> - a FILEREF defined using a FILENAME statement. </P> <P> The <i>fi"
  + "leref</i> is where javascript functions will be written.  The file should not be the same file that "
  + "ODS HTML is writing to.  The ODS HTML HEADTEXT= option should be used to ensure the generated javasc"
  + "ript file is available to the generated HTML. </P> <HR NOSHADE><b> %jsTitle</b> ( <i>N</i>, <i>text<"
  + "/i> )<br><b> %jsFootnote</b> ( <i>N</i>, <i>text</i> ) <P> <i>N</i> - The title or footnote number, "
  + "1 through 10.<BR> <i>text</i> - Text to be displayed as the title. </P> <P>By default the title or f"
  + "ootnote is left-justified. To override this default, wrap <i>text</i> in a &lt;P&gt; block with ALIG"
  + "N=CENTER|RIGHT|JUSTIFY. </P> <P> The <i>text</i> may contain direct HTML for embedding.  Best result"
  + "s are experienced if the HTML is valid.  If you want to display characters normally interpreted by t"
  + "he SAS macro system, pass the text wrapped in <b>%nrstr()</b>.  If you experience SAS errors while u"
  + "sing the macros while trying to work with special characters, consider using <A HREF='http://www.dio"
  + "nysia.org/html/entities/'>HTML entities</A> discussed in the HTML <A HREF='http://www.w3.org/TR/REC-"
  + "html40/sgml/entities.html'>4.0 Specification</A>. </P> <HR NOSHADE><b> %jsODSHeadText</b> ( <i>URL</"
  + "i> )<br> <P> <i>URL</i> - The URL where the javascript file should be loaded from<BR> </P> <P>For si"
  + "mple uses of <b>%jsTitle</b> and <b>%jsFootnote</b> the <i>fileref</i> indicated in <b>%jsTitleFootn"
  + "oteReset</b> will point to a file in the same folder as the HTML file being created by ODS HTML.  Th"
  + "is means the filename itself is sufficient to pass as the <i>URL</i>. </P> <P>In more sophisticated "
  + "uses, the <i>fileref</i> indicated in <b>%jsTitleFootnoteReset</b> will point to a file in a folder "
  + "different than that of the HTML file being created by ODS HTML. This means the location of the javas"
  + "cript file when accessed through your web browser must be known. For pages that are read directly of"
  + "f a disk or shared drive this means some relative or absolute path according to the local system. Fo"
  + "r pages that are read from web server this means some relative or absolute path according to the web"
  + " server. </P> <P> jsODSHeadText is a convenience macro for use when specifing the value to use in yo"
  + "ur ODS HTML HEADTEXT=. The macro generates this literal text: </P> <PRE>  &lt;SCRIPT LANGUAGE=&quot;"
  + "&quot;JAVASCRIPT&quot;&quot; SRC=&quot;&quot;&URL&quot;&quot;&gt;&lt;/SCRIPT&gt; </PRE> <P> which wh"
  + "en used as a HEADTEXT= value will cause this: </P> <PRE>  &lt;SCRIPT LANGUAGE=&quot;JAVASCRIPT&quot;"
  + " SRC=&quot;&URL&quot;&gt;&lt;/SCRIPT&gt; </PRE> <P> to appear in the ODS HTML &lt;HEAD&gt;. </P> <P>"
  + "Note: Your application may require HEADTEXT other than that needed by these macros. </P> <HR NOSHADE"
  + "><b> Sample SAS code</b><br> <PRE> %let <font style='background-color:lightblue'>htmlFolder</font> ="
  + " <i>some-local-system-path</i>;<br> %let <font style='background-color:lime'>jScriptFilename</font> "
  + "= <i>some-filename</i>;<br> filename <font style='background-color:yellow'>jScript</font> &quot;&<fo"
  + "nt style='background-color:lightblue'>htmlFolder</font>.\\&<font style='background-color:lime'>jScri"
  + "ptFilename</font>.&quot;;<br> <b>%jsTitleFootnoteReset</b> ( <font style='background-color:yellow'>j"
  + "Script</font> );<br> ODS HTML body = &quot;&<font style='background-color:lightblue'>htmlFolder</fon"
  + "t>.\\<i>html-filename</i>&quot;<br>          headtext=&quot;<i>your head text</i><br>               "
  + "    <b>%jsODSHeadText</b> ( &<font style='background-color:lime'>jScriptFilename</font> )<br>       "
  + "            &quot;<br> ;<br> %jsTitle (1, Title (may include &lt;b&gt;HTML&lt;/b&gt; itself))<br> .."
  + ".<br> ODS HTML CLOSE;<br> </PRE> <HR NOSHADE><b> Caveats</b> <p>If you try to set a title or footnot"
  + "e that has a &lt;PRE&gt; block that covers mutiple lines, everything will run together.  This is bec"
  + "ause the SAS macro system translates newlines to spaces.  Use &lt;BR&gt; tags to ensure newlines occ"
  + "ur where you want them. </p> <P> These macros bypass the ODS renderer, thus, inline styling directiv"
  + "es indicated by \\S will <U>not</U> be ODS rendered. </P> <PRE> </DIV> <DIV STYLE='margin-left:0.5in"
  + ";border:thin black solid;padding:8pt'> <P> So, make your titles as long as you want. The more the in"
  + "formation the better. The same goes for the footnotes. There is pratically no limit to how long the "
  + "titles and footnotes can be. Actually, they should not be more than 65536 characters long. </P> <P>Y"
  + "ou may reuse a title number within a given block of code that writes to an HTML file.  What this mea"
  + "ns is that jsTitle() and jsFootnote() keep track of how many times they have been called since jsTit"
  + "leFootnoteReset() and keep same numbered titles and footnotes in separate javascript functions. </P>"
  + " <P>Very long titles and footnotes in HTML enables you to:</P> <UL STYLE='margin-left:20pt'> <LI>Use"
  + " CSS/DHTML for impressive or exotic content visualization and navigation. </LI> <LI>Embed Javascript"
  + " for client side menuing.  Rather than use static menus, your SAS program(s) can produce HTML with c"
  + "ontext sensitive menuing information. Examples of this are not provided.</LI> <LI>Embed Java Applets"
  + ", ActiveX components or Shockwave objects that require many parameters to be passed to them. The mor"
  + "e adventurous might try to embed SAS/Internet controls, etc...</LI> <LI>Embed XML for content presen"
  + "tation</LI> <LI>Embed any other various ML such as MathML or MusicML.</LI> </UL> </DIV> <P style='ba"
  + "ckground-color:white'>Thus ends TITLE 1.</P> "
  );
}

function footnote2 () {
  document.write (
    "This is footnote 2 output by macro jsFootnote(), jsTitleAndFootnote defaults to left-alignment"
  );
}

function footnote3 () {
  document.write (
    "<P ALIGN=CENTER>Centered</P>"
  );
}

function footnote4 () {
  document.write (
    " <P ALIGN=RIGHT STYLE='font:normal bold 16pt monospace;color:white;background-color:blue'> This is a"
  + "ll in a P tag<BR> Right alignment from the ALIGNMENT attribute<BR> color and font from the STYLE att"
  + "ribute</P>"
  );
}

function footnote5 () {
  document.write (
    "<P ALIGN=LEFT>Left</P>"
  );
}

function title1use2 () {
  document.write (
    "Javascript Title 1"
  );
}

function title1use3 () {
  document.write (
    "Another Javascript Title 1"
  );
}

function title1use4 () {
  document.write (
    "A test of all titles"
  );
}

function title2 () {
  document.write (
    "Two"
  );
}

function title3 () {
  document.write (
    "Three"
  );
}

function title4 () {
  document.write (
    "Four"
  );
}

function title5 () {
  document.write (
    "Five"
  );
}

function title6 () {
  document.write (
    "6"
  );
}

function title7 () {
  document.write (
    "7"
  );
}

function title8 () {
  document.write (
    "8"
  );
}

function title9 () {
  document.write (
    "9"
  );
}

function title10 () {
  document.write (
    "10"
  );
}

function footnote1 () {
  document.write (
    "A test of all footnotes"
  );
}

function footnote2use2 () {
  document.write (
    "2"
  );
}

function footnote3use2 () {
  document.write (
    "3"
  );
}

function footnote4use2 () {
  document.write (
    "4"
  );
}

function footnote5use2 () {
  document.write (
    "5"
  );
}

function footnote6 () {
  document.write (
    "6"
  );
}

function footnote7 () {
  document.write (
    "7"
  );
}

function footnote8 () {
  document.write (
    "8"
  );
}

function footnote9 () {
  document.write (
    "9"
  );
}

function footnote10 () {
  document.write (
    "10"
  );
}

function title1use5 () {
  document.write (
    " <P ALIGN=LEFT STYLE='margin-top:12pt;font:normal bold 12pt monospace'> This page was generated by S"
  + "AS program <A HREF='index.php?m=jsTitleAndFootnote'>jsTitleAndFootnote-sample.sas</A><BR> Richard A. DeVenezia<BR> ht"
  + "tp://www.devenezia.com</P> "
  );
}

function footnote1use2 () {
  document.write (
    " <P ALIGN=LEFT STYLE='margin-top:12pt;font:normal bold 12pt monospace'> This page was generated by S"
  + "AS program <A HREF='index.php?m=jsTitleAndFootnote'>jsTitleAndFootnote-sample.sas</A><BR> Richard A. DeVenezia<BR> ht"
  + "tp://www.devenezia.com</P> "
  );
}