// Regular functions used for sites where login is in header.

function showLoginContainer() {
  setVisible("topLoginContainer", true);
  setHidden("topForgottenPasswordContainer", true);

  toggleVisible("extraLoginContainer", true);
}

function showForgottenPasswordContainer() {
  setVisible("topForgottenPasswordContainer", true);
  setHidden("topLoginContainer", true);

  setVisible("extraLoginContainer", true);
}

function hideLoginContainer() {
  setHidden("extraLoginContainer", true);
}

function loginAsUser(form) {
  var email = getFieldFromForm(form, "email").value;
  var password = getFieldFromForm(form, "password").value;

  if (emptyString(email)) {
    alert(UiText.get('User.Profile.ValidationMessage.EnterEmail'));
    return false;
  }

  if (emptyString(password)) {
    alert(UiText.get('User.Profile.ValidationMessage.EnterPassword'));
    return false;
  }

  // Hide login button
  setHidden("headerLoginSubmit", true);

  // Show load animation
  setVisible("loginLoadingAnimation", true);
  setInnerHtmlToSmallLoadingAnimation("loginLoadingAnimation");

  $(form).submit();
}

function logoutTSUser(form) {
  setInnerHtmlToSmallLoadingAnimation('logoutButton', '12px', '0');
  logoutIbeUser(function(response) {
    reloadPage();
  });
  return false;
}

function forgotPassword(form) {

  var email = getFieldFromForm(form, "email").value;

  if (emptyString(email)) {
    alert(UiText.get('User.Profile.ValidationMessage.EnterEmail'));
    return false;
  }

  if (!validEmail(email)) {
    alert(UiText.get('User.Alert.InvalidEmail'));
    return false;
  }

  // Hide login button
  setHidden("headerForgotPasswordSubmit", true);

  // Show load animation
  setVisible("forgotPasswordLoadingAnimation", true);
  setInnerHtmlToSmallLoadingAnimation("forgotPasswordLoadingAnimation");

  var params = new RequestParameters();
  params.addParameter("email", email);
  var url = "/ajax.user.forgotpassword.do.action?" + params.toString();

  sendRequest(url, function(response) {
    hideLoginContainer();
  }, function(response) {
    ibealert(response.message);
    setVisible("headerForgotPasswordSubmit", true);
    setHidden("forgotPasswordLoadingAnimation", true);
  });

  return false;
}

