EditSignInHandler = function (targ)
{
  this.target = targ;
  this.overlayDimmer = new DynamicDimLayer();
  this.overlayDimmer.zIndex = 500;
  this.overlayDimmer.topAdjust = 34;
};

EditSignInHandler.prototype =
{
  init: function()
  {
    var rememberMeChkBx = document.getElementById('remember_me');
    if (rememberMeChkBx)
    {
      rememberMeChkBx.onclick = this.updateRememberMe.bind(this);
    }
  },


  /**
   * AJAX call for update rememberMe
   *
   */
  updateRememberMe: function (evt)
  {
    evt = evt ? evt : window.event;
    var srcEl = evt.target ? evt.target : evt.srcElement;

    var updateRememberMeCallback = {success:this.handleUpdateRememberMeSuccess.bind(this),failure:this.handleUpdateRememberMeFailure.bind(this)};

    var contentContainer = document.getElementById('contentContainer');
    this.overlayDimmer.showDimEffect(contentContainer);
    var updateRememberMeRequest = vfAsyncRequest("GET", "/do/vincellar/editSignin?doAction=updateRememberMe&rememberMe=" + srcEl.checked, updateRememberMeCallback);

    return false;
  },

  handleUpdateRememberMeSuccess: function(response)
  {
    this.overlayDimmer.clearDimEffect();

    var jsonObject = getJsonObject(response);

    if (jsonObject.hasErrors == "true")
    {
      var messagediv = document.getElementById('messagediv');
      messagediv.innerHTML = jsonObject.errors;
    }
    else
    {
      this.target.refreshPage();
    }
  },

  handleUpdateRememberMeFailure: function()
  {
    this.overlayDimmer.clearDimEffect();
    alert("Edit remember me failed");
  },

  /**
   * AJAX call for update signing popup Done button
   *
   */
  updateSignin: function()
  {
    var updateSigninCallback = {success:this.handleUpdateSigninSuccess.bind(this),failure:this.handleUpdateSigninFailure.bind(this)};

    YAHOO.util.Connect.setForm("editSigninForm");
    var editSigninContainer = document.getElementById('popup-account-esi');
    this.overlayDimmer.showDimEffect(editSigninContainer);
    var updateSigninRequest = vfAsyncRequest("POST", "/do/vincellar/editSignin?doAction=save", updateSigninCallback);
  },

  handleUpdateSigninSuccess: function(response)
  {
    this.overlayDimmer.clearDimEffect();
    
    var jsonObject = getJsonObject(response);

    if (jsonObject.hasErrors == "true")
    {
      var messagediv = document.getElementById('messagedisplaydiv');
      messagediv.innerHTML = jsonObject.errors;
    }
    else
    {
      this.target.refreshPage();
    }
  },

  handleUpdateSigninFailure: function()
  {
    this.overlayDimmer.clearDimEffect();
    alert("Edit Signin Information failed");
  }
};