function showMailingList()
{
  $("#mailinglist_loading").hide();
  $("#mailinglist_response").fadeOut("fast", function(){
    $("#mailinglist").fadeIn("fast");
  });
}

function submitMailingListForm()
{
  var email = $.trim($("#mailinglist_email").val());
  var validated = true;
  var errormsg = "";
  var regEx = /^[A-Za-z0-9](([_\.\-]?[a-zA-Z0-9]+)*)@([A-Za-z0-9]+)(([\.\-]?[a-zA-Z0-9]+)*)\.([A-Za-z]{2,})$/;
  
  if (email == "" || email.toLowerCase() == "enter your email address") {validated = false; errormsg = "Email required!";}
  else if (!regEx.test(email)) {validated = false; errormsg = "Invalid email address";}
  
  if (validated)
  {  
    $("#mailinglist").fadeOut("fast", function(){
      $("#mailinglist_loading").show();
      $.ajax({
        type: "POST",
        timeout: 5000,
        url: "/subscribe",
        dataType: "html",
        data: "mailinglist_type=ajax&mailinglist_email=" + email,
        success: function(msg){
          setTimeout("processMailingListResponse('" + msg + "')", 1000);
        },
        error: function(object, error, exception){
          $("#mailinglist_loading").hide();
          $("#mailinglist_response").html("<p class=\"bold centered\">Unfortunately, an error has occurred.</p><p class=\"centered\"><a href=\"#\" onclick=\"showMailingList(); return false;\">Try again</a></p>").show();
          /*if (window.console && window.console.error) {
              console.error(arguments);
          }*/
        }
      });
    });
  }
  else
  {
    $("#mailinglist_validation").html(errormsg);
  }
}

function processMailingListResponse(response)
{
  $("#mailinglist_loading").hide();
  $("#mailinglist_response").html(response).show();
}

function clearInput(object, defaultValue)
{
  if ($.trim(object.value) == defaultValue) {object.value = "";}
}

function checkInput(object, defaultValue)
{
  if ($.trim(object.value) == "") {object.value = defaultValue;}
}