      function show_newsletter_signup() {
        document.getElementById('nav_newsletter_li').innerHTML = "<form method='post' action='/newsletter/signup.php' name='newsletter_signup' onsubmit='do_newsletter_signup(); return false;'><table cellpadding=0 cellspacing=0><tr><td>Email:</td><td><input type='text' name='email' size='25' /></td><td><a href='#' onclick='submitform(document.newsletter_signup);' onmouseover=news.src='/i/newsgo_over.gif'; onmouseout=news.src='/i/newsgo.gif';><img src='/i/newsgo.gif' border='0' name='news' class='newsbtn' /></a></td></tr></table></form>";
        document.newsletter_signup.email.focus();
      }
      
      function do_newsletter_signup() {
        var email = document.newsletter_signup.email.value.replace(/^\s*/, "").replace(/\s*$/, "");
        if (email.length == 0)
          return;
        
        // basic email validation <something>@<domain>.<tld>
        var is_valid = false;
        var parts = email.split("@");
        if (parts.length == 2) {
          var domain_parts = parts[1].split(".");
          is_valid = (domain_parts.length >= 2);
        }
        var msg;
        if (is_valid) {
          $.ajax({
            type: "POST",
            url: "/newsletter/signup.php",
            data: "email=" + email,
            success: function(msg){
              document.getElementById('nav_newsletter_li').innerHTML = msg;
            },
            error: function(req, error, ex){
              document.getElementById('nav_newsletter_li').innerHTML = "Unable to save email address!  <a href='#' onclick='show_newsletter_signup(); return false' title='Try again'>Try again</a>.";
            }
          });
          msg = "Saving email address...";
        }
        else
          msg = "'" + email + "' is not a valid email address.  <a href='#' onclick='show_newsletter_signup(); return false' title='Try again'>Try again</a>.";
          
        document.getElementById('nav_newsletter_li').innerHTML = msg;
      }