function showDotMailerSignUpForm()
{
  var greyOut = document.getElementById('greyOut');
  var popup = document.getElementById('dotMailerPopup');
  var signUpForm = document.getElementById('dotMailerSignUpForm');
  var successPanel = document.getElementById('dotMailerSignUpSuccess');
  var progressPanel = document.getElementById('dotMailerSignUpProgress');
    
  signUpForm.style.display = 'block';
  successPanel.style.display = 'none';
  progressPanel.style.display = 'none';

  // We need to set the popup's display to block in order to calculate its 
  // width, however we don't want to display it yet so we set visibility to hidden.
  popup.style.visibility = 'hidden';
  popup.style.display = 'block';
  
  var x = (document.body.clientWidth - popup.offsetWidth) / 2;
  var y = (document.body.clientHeight - popup.offsetHeight) / 2;
  
  popup.style.left = x + "px";
  popup.style.top = y + "px";
  
  greyOut.style.display = 'block';
  popup.style.visibility = 'visible';
}

function closeDotMailerSignUpForm()
{
  var greyOut = document.getElementById('greyOut');
  var popup = document.getElementById('dotMailerPopup');
  greyOut.style.display = 'none';
  popup.style.display = 'none';
}

function sendDotMailerSignUp()
{
  var params = formToUrl('dotMailerSignUpForm');
  var url = '/DotMailerSignUp/SignUp.aspx?' + params;
  
  var signUpForm = document.getElementById('dotMailerSignUpForm');
  var progressPanel = document.getElementById('dotMailerSignUpProgress');
  
  var email = signUpForm['Email'].value;
  if (email == ''|| email.indexOf("@") == -1)
  {
    alert('Please enter your email address');
    return;
  }
  
  signUpForm.style.display = 'none';
  progressPanel.style.display = 'block';
  
  asyncRequest(url, onDotMailerSignUpResponse); 
}

function onDotMailerSignUpResponse(response)
{
  if (response == 'success')
  {
    var successPanel = document.getElementById('dotMailerSignUpSuccess');
    var progressPanel = document.getElementById('dotMailerSignUpProgress');
    successPanel.style.display = 'block';
    progressPanel.style.display = 'none';
  }
  else closeDotMailerSignUpForm();
}