      function sendMessage()
      {
        var rc = false;
        var fullName = document.getElementById('fullname');
        var emailAddr = document.getElementById('email');
        var message = document.getElementById('message');

        if (rc == false) {
          if (emptyField(fullName)) {
            fullName.focus();
            alert("Please enter an your name.");
            rc = true;
          }
        }

        if (rc == false) {
          if (emptyField(emailAddr)) {
            emailAddr.focus();
            alert("Please enter an email address.");
            rc = true;
          }
        }

        if (rc == false) {
          if (checkMail(emailAddr.value)) {
            emailAddr.focus();
            alert("Please enter a valid email address.");
            rc = true;
          }
        }

        if (rc == false) {
          if (emptyField(message)) {
            message.focus();
            alert("Please enter your message to us.");
            rc = true;
          }
        }

        if (rc == false) {
           var urlDirection;
           urlDirection = "/cgi-bin/contact.cgi?";
           urlDirection = urlDirection + "name=" + encodeURIComponent(fullName.value) + "&";
           urlDirection = urlDirection + "email=" + encodeURIComponent(emailAddr.value) + "&";
           urlDirection = urlDirection + "message=" + encodeURIComponent(message.value);
	
	   Http.get({
	        url: urlDirection,
		callback: fillMessage,
		cache: Http.Cache.GetNoCache
           });
        }
      }

      function fillMessage(xmlreply)
      {
           if (xmlreply.status == Http.Status.OK)
           {
             var response = xmlreply.responseText;

             alert(response);

             document.getElementById('fullname').value = "";
             document.getElementById('email').value = "";
             document.getElementById('message').value = "";
           }
           else
           {
             alert("Error Trying to send message.");
           }
         }


      function initNewsletter()
      {
        var rc = false;
        var emailAddr = document.getElementById('newssub');
        if (rc == false) {
          if (emptyField(emailAddr)) {
            emailAddr.focus();
            alert("Please enter an email address.");
            rc = true;
          }
        }

        if (rc == false) {
          if (checkMail(emailAddr.value)) {
            emailAddr.focus();
            alert("Please enter a valid email address.");
            rc = true;
          }
        }

        if (rc == false) {
           var urlDirection;
           urlDirection = "/cgi-bin/newsletter.cgi?";
           urlDirection = urlDirection + "newsemail=" + encodeURIComponent(document.getElementById('newssub').value);
	
	   Http.get({
	        url: urlDirection,
		callback: fillNews,
		cache: Http.Cache.GetNoCache
           });
        }
      }

      function fillNews(xmlreply)
      {
           if (xmlreply.status == Http.Status.OK)
           {
             var response = xmlreply.responseText;

             alert(response);

             document.getElementById('newssub').value = "";
           }
           else
           {
             alert("Error Trying to send message.");
           }
      }

      //Generic function that checks a text field to see if it is empty.
      function emptyField(textObj)
      {
         if (textObj.value.length == 0 ) return true;
         for (var i=0; i< textObj.value.length; ++i) {
            var ch = textObj.value.charAt(i);
            if (ch != ' ' && ch != '\t') return false;
         }
         return true;
      }

      function checkMail(x)
      {
         var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
         if (filter.test(x)) 
         {
            return false; 
         }
         else 
         { 
            return true;
         }
      }