SigninForm = {
	init: function() {
		var signin_form = $('signin_form');
		if (signin_form) {
			signin_form.observe('submit', this.submit.bindAsEventListener(this));
		}
	},
	submit: function(e) {
		$('signin_form').request({
			method: 'post',
			onSuccess: this.loginSuccess.bind(this),
			onFailure: this.loginFailure.bind(this)
		});
		
		e.stop();
		return false;
	},
	loginSuccess: function(response) {
		$('signin_form_errors').update(response.responseText);
		this.reload.bind(this).defer();
	},
	loginFailure: function(response) {
		$('signin_form_errors').update(response.responseText);
	},
	reload: function() {
	  var reload_link = $('signin_reload_link');
	  if (reload_link) {
		document.location.href = $('signin_reload_link').href;
	  } else {
		document.location.reload();
	  }
	}
}

Event.observe(window, 'load', SigninForm.init.bind(SigninForm));

