
$.createNamespace("rainier.account");
$(function() {
	rainier.account.login = function() {
		var loginEmail = $('input[name="loginEmail"]', this.parentNode).val();
		var loginPass = $('input[name="loginPassword"]', this.parentNode).val();
		var def = $.jsonRpc('Account', 'CheckLogin', loginEmail, loginPass);
		
		var _this = this;
		def.addCallback(function(response) {
			if (response) {
				location.reload();
			} else {
				$('.loginMessage', _this.parentNode)
				 .fadeIn('slow',
						function() {
							setTimeout(function() { 
								$('.loginMessage', _this.parentNode).fadeOut('slow');
							}, 2000);
						});
			}
		});
	};
	
	rainier.account.logout = function() {
		$.jsonRpc('Account', 'Logout', function() { location.reload(); });
		return false;
	};
	
	rainier.account.setupLoginForm = function() {
		$('.loginForm > .loginButton').click(rainier.account.login);
		$('.loginForm input').keyup(function(e) {
			if (e.keyCode == 13) {
				$('.loginForm > .loginButton').click();
			}
		});
	};
	
	rainier.account.setupLoginLink = function() {
		$('.loginLink').attr('href', rainier.root + '/Account/LoginPartial');
		$('.loginLink').fancybox({
			'hideOnContentClick': false,
			'callbackOnShow': rainier.account.setupLoginForm,
			'frameWidth': 350,
			'frameHeight': 110
		});
	};
	
	// Setting the click action on the form.
	$(document).ready(function() {
		rainier.account.setupLoginForm();
		$('.logoutLink').click(rainier.account.logout);
		rainier.account.setupLoginLink();
	});
});
