    var astrLink = new Array();
    
    astrLink[80] = "Stupid Error Messages, Part 6"
    astrLink[79] = "The Cut Command"
    astrLink[78] = "Meeting Invitations"
    astrLink[77] = "Sorting Mail Messages, Part 2"
    astrLink[76] = "Least Favorite Favorites"
    astrLink[75] = "Lotus Notes Automation Classes"
    astrLink[74] = "Incorrect Use of Ellipses"
    astrLink[73] = "Print from Print Preview Mode"
    astrLink[72] = "Drag-and-Drop Multiple Attachments"
    astrLink[71] = "More User Frustrations"
    astrLink[70] = "Stupid Error Messages, Part 5"
    astrLink[69] = "Mail Message Bloat"
    astrLink[68] = "Stupid Error Messages, Part 4"
    astrLink[67] = "Undo"
    astrLink[66] = "Appointment Categories"
    astrLink[65] = "About Lotus Notes"
    astrLink[64] = "Fun with the To Do List"
    astrLink[63] = "Stupid Error Messages, Part 3"
    astrLink[62] = "Print Preview a Folder"
    astrLink[61] = "Pasting/Creating an Image"
    astrLink[60] = "Deleting Old Meetings"
    astrLink[59] = "Double-Click Default Inaction"
    astrLink[58] = "History of Lotus Notes"
    astrLink[57] = "Breaking the Rules, Part 2"
    astrLink[56] = "Interlude, Part 2"
    astrLink[55] = "The Attachment Window, Part 2"
    astrLink[54] = "Breaking the Rules"
    astrLink[53] = "Design Upgrade"
    astrLink[52] = "Stupid Error Messages, Part 2"
    astrLink[51] = "Sametime Connect"
    astrLink[50] = "Moving Mail from the Sent Folder"
    astrLink[49] = "NotesMedic"
    astrLink[48] = "Send and File"
    astrLink[47] = "Customizing Lotus Notes"
    astrLink[46] = "The Status Bar"
    astrLink[45] = "Reply With History"
    astrLink[44] = "Interlude"
    astrLink[43] = "Creating Objects"
    astrLink[42] = "What's This Help"
    astrLink[41] = "The Lotus Notes Workspace"
    astrLink[40] = "What Just Happened?"
    astrLink[39] = "Copying a Mail Message"
    astrLink[38] = "You've Got Mail!"
    astrLink[37] = "Scrollbars That Are Not Needed"
    astrLink[36] = "Propaganda: Total Cost of Ownership"
    astrLink[35] = "Breaking the Bank"
    astrLink[34] = "Attaching a Shortcut"
    astrLink[33] = "Deleting an Email Message, Part 2"
    astrLink[32] = "Screw You, Lotus Notes Style"
    astrLink[31] = "Badly Designed Toolbar"
    astrLink[30] = "Remark"
    astrLink[29] = "Proportional Scrollbars"
    astrLink[28] = "Entering a Hyperlink"
    astrLink[27] = "Changing Column Widths"
    astrLink[26] = "Where's My Waiter?"
    astrLink[25] = "Changing Your Password"
    astrLink[24] = "When Lotus Notes Crashes"
    astrLink[23] = "Stupid Error Messages"
    astrLink[22] = "Checking Your Inbox for New Mail"
    astrLink[21] = "Sorting Mail Messages"
    astrLink[20] = "Toolbaritis"
    astrLink[19] = "Is There a Ship in Port?"
    astrLink[18] = "Publishing Databases"
    astrLink[17] = "Windows Color Scheme"
    astrLink[16] = "Reinventing the Menu Bar"
    astrLink[15] = "Canceling a Message"
    astrLink[14] = "Drag and Drop Text"
    astrLink[13] = "Another Unnecessary Dialog Box"
    astrLink[12] = "Accidently Starting Lotus Notes"
    astrLink[11] = "Deleting an Email Message"
    astrLink[10] = "The Attachment Window"
    astrLink[9] = "Attaching a File to a Mail Message"
    astrLink[8] = "Unnecessary Clicking"
    astrLink[7] = "Poorly Designed Icons"
    astrLink[6] = "The Property Sheet"
    astrLink[5] = "Sending an Email Message"
    astrLink[4] = "Opening an Attachment"
    astrLink[3] = "The Mail Message Shortcut Menu"
    astrLink[2] = "Clicking a Hyperlink"
    astrLink[1] = "The Logon Window"

function getFileName(fullPath)
{
  var lastSlash // the position of the last slash in the path
  var fileName  // the name of the file

  lastSlash = fullPath.lastIndexOf("/")
  fileName = fullPath.substring(lastSlash + 1, fullPath.length)
  return fileName
}

function writeHeader()
{
   /* var strRant = "Lotus Notes Sucks"; */
   document.write ('<div id="top">');
   document.write ('</div>');

    /* document.write('<p id="title">' + strRant + '</p>'); */
   document.write ('<div id="bottom">');
   document.write('<p id="subtitle">An authorative guide to demonstrating that Lotus Notes sucks.</p>');
   document.write('<p id="subtitle2">Sorry about the crap above the masthead.  It\'s not my idea&mdash;it\'s this websites\'s host.  ');
  /* document.write('<img src="img/banner.jpg">'); */
   document.write ('<a href="index.html">IBM wants your help in fixing Lotus Notes</a>.</p>');
   document.write ('</div>');
}

function writeMenu()
{
    writeHNav();

    var filenam;
    var intNum;

    filenam = getFileName(location.href);

    //add menu items (links)
    document.write ('<ul class="nav">');
    if (filenam == "log.html")
    {
	     document.write('<li>What\'s New</li>')
    }
    else
    {
        document.write('<li><a href="log.html">What\'s New</a></li>')
    }    
    
    if (filenam == "mail.html")
    {
	     document.write('<li>Mail</li>')
    }
    else
    {
        document.write('<li><a href="mail.html">Mail</a></li>')
    }

    if (filenam == "index.html")
    {
	     document.write('<li>Home</li>')
    }
    else
    {
        document.write('<li><a href="index.html">Home</a></li>')
    }
    document.write ('</ul>');



    //start writing the menu
    document.write('<b>Examples</b>');

    document.write('<p>For you frequent visitors, the newest links are now at the top.</p>');

    document.write('<ul class="nav">');
    //for (var i = 1; i < astrLink.length; i++)
    for (var i = astrLink.length - 1; i > 0; i--)
    {
       if (i < 10) {
             intNum = "0" + i
       } else {
             intNum = i
       }

       //a Lotus Notes sucksism that is fixed is shown differently.  See style sheet.
       switch(i)
       {
         case 12:
         case 25:
         case 27:
         case 30:
         case 31:
         case 33:
         case 34:
         case 45:
         case 48:
         case 55:
         case 62:
         case 65:
         case 69:
             strliTag = '<li class="fixed" title="Problem is/appears to be fixed">';
             break;
         default:
             strliTag = "<li>";
             break;
       }

       //a menu should contain an active link to the current document
       if (filenam == "lnEx" + intNum + ".html")
       {
          document.write(strliTag + i + ': ' + astrLink[i])
       }
       else
       {
          document.write(strliTag + '<a href="lnEx' + intNum + '.html">' + i + ': ' + astrLink[i] + '</a>')
       }

       document.write("</li>")
    }

    if (filenam == "lnEnd.html")
    {
	    document.write('<li>Some Final Thoughts</li>')
    }
    else
    {
	    document.write('<li><a href="lnEnd.html">Some Final Thoughts</a></li>')
    }

    //end writing the menu
    document.write("</ul>")
}

function writeFooter()
{
  var contact = "Lotus Notes Hater"
  var email = "webmaster"
  var emailHost = "lotusnotessucks.4t.com"
  
  var now = new Date();

  document.write("<p class=contact>&copy; 2003-" + now.getFullYear()  + " <a href='" + "mai" + "lto:" + email + "@" + emailHost + "'>" + contact + "</a>, All Rights Reserved.</p>");

}

function writeHNav()
{
    var intNum;
    var strNum;
    var docPrev;
    var docNext;
    var docCurr;
    var docLast;
    var intTemp;

    var navPrev = "&lt; Previous";
    var navNext = "Next &gt;";

    docCurr = getFileName(location.href);
    docLast = (astrLink.length - 1);

    document.write('<ul id="browseseq">');

    switch (docCurr)
    {
	     case "mail.html":
           break;

	     case "index.html":
           document.write('<li><a href="lnEx01.html" title="' + astrLink[1] + '">' + navNext + '</a></li>');
           break;

        case "lnEx01.html":
           document.write('<li><a href="index.html" title="Home">' + navPrev + '</a></li>');
           document.write('<li><a href="lnEx02.html" title="' + astrLink[2] + '">' + navNext + '</a></li>');
           break;

        case "lnEx" + docLast + ".html":
           document.write('<li><a href="lnEx' + (docLast - 1) + '.html" title="' + astrLink[(docLast - 1)] + '">' + navPrev + '</a></li>');
	     document.write('<li><a href="lnEnd.html" title="Some Final Thoughts">' + navNext + '</a></li>');
           break;

        case "lnEnd.html":
           document.write('<li><a href="lnEx' + docLast + '.html" title="' + astrLink[docLast] + '">' + navPrev + '</a></li>');
	     break;

        default:
	     strNum = docCurr.substr(4,2);   //lnEx05.html should return 05
	     intNum = strNum.valueOf(strNum);

           intTemp = (intNum - 1);
           if (intTemp < 10)
	     {
              docPrev = "0" + intTemp
           } else
           {
	      docPrev = intTemp
           };

           intTemp = (intTemp + 2)
	     if (intTemp < 10)
	     {
              docNext = "0" + intTemp
           } else
           {
              docNext = intTemp
           };

	   //window.alert(docPrev + ' ' + intNum + ' ' + docNext);

           document.write('<li><a href="lnEx' + docPrev + '.html" title="' + astrLink[docPrev] + '">' + navPrev + '</a></li>');
           document.write('<li><a href="lnEx' + docNext + '.html" title="' + astrLink[docNext] + '">' + navNext + '</a></li>');
    }

    document.write('</ul>');

}
