
function handleEmailHelpSuccess(response)
{
  getDimmer().clearDimEffect();

  // get the JSON object expression from the response
  var jsonExpression = "(" + response.responseText + ")";

  // pass it directly to the JavaScript interpreter to get the object
  var values = eval(jsonExpression);

  if (values.success == "true")
  {
    var emailValue = document.getElementById("email-input").value;
    var successMessage =  "<br/><b>An email has been sent to " + emailValue + " with instructions on how to reset your password.</b><br/><br/>";
    showUserMessage(successMessage, "Password Sent");
  }
  if (values.errors)
  {
    var errorString = "<br />";
    for (var i = 0; i < values.errors.length; i++)
    {
      errorString += "<strong>" + values.errors[i] + "</strong>" + "<br /><br />";
    }
    if(document.getElementById("messagePanel1"))
      document.getElementById("messagePanel1").innerHTML = errorString;
    else
      showUserMessage(errorString, "The following problems occurred:");
  }
}

function showUserMessage(msg, header)
{
  var msgHeader = document.getElementById("messageHeader");
  var msgBody = document.getElementById("messageBody");
  if (msgHeader)
  {
    msgHeader.innerHTML = header;
  }
  if (msgBody)
  {
    msgBody.innerHTML = msg;
  }
  if(document.getElementById("messagePanel"))
  document.getElementById("messagePanel").style.display ="block";
  hideElement("emailFormPanel");
  showElement("messagePanel");
}

function handleEmailHelpFailure()
{
  showUserMessage("<br/><font color='#1C488A'><b>Your password could not be sent. Please try again.</b></font><br/><br/>", "There was a problem");
  alert("Email help failure!");
}

function submitFormAsync(action, formId, customerDomain)
{
  // XmlHttpRequest will cache requests, so
  // introduce a random to prevent it
  var rnd = Math.floor(Math.random() * 1000);

  var container = document.getElementById("display-container");
  getDimmer().showDimEffect(container);

  var url = "/do/security/passwordHelp?doAction=" + action;
  if (customerDomain && customerDomain != "")
  {
    url += "&domain=" + customerDomain;
  }
  YAHOO.util.Connect.setForm(formId); // use the styleId so it will work both in IE and in Mozilla
  var callbacks = {success: handleEmailHelpSuccess, failure: handleEmailHelpFailure};
  vfAsyncRequest("POST", url, callbacks);
}

function getDimmer()
{
  this.dimmer = new DynamicDimLayer();
  this.dimmer.zIndex = 1000;
  this.dimmer.topAdjust = 34;
  this.dimmer.disableScrollTop = true;
  return this.dimmer;
}

