/*
 * @requires Auth.js
 *
 */

var Account = {};
Account.display = function() {
	ajaxHTML('/account/new', null, function(html) {
		Account.render(html);
	});
};

Account.render = function(html) {
	$('#anytimeRegistration').html(html).show();
	cancelButton('#anytimeRegistration');
}

Account.submit = function(form) {
	var data = $(form).serialize();
	ajax('/account/new', data, function(json) {
		if (json.success) {
			Auth.success(json);
			$('#anytimeRegistration').hide().empty();
			pageTracker._trackEvent('Account', 'registration');
		}
		else {
			Account.fail(json);
		}
	});
};

Account.fail = function(json) {
	Account.render(json.html);
	$('body').removeClass('loggedIn');
};

Account.Update = {};
Account.Update.display = function() {
	ajaxHTML('/account/update', null, function(html) {
		Account.render(html);
	});
};

Account.Update.submit = function(form) {
	var data = $(form).serialize();
	ajax('/account/update', data, function(json) {
		Account.render(json.html);
		if (json.success) {
			$('#userProfile').replaceWith(json.profile);
		}
	});
};

Account.terms = function(container) {
	var termsLabel = $(container + " label:contains('terms and conditions.')");
	var termsText = termsLabel.text();
	termsLabel.text(termsText.replace('terms and conditions.', ''));
	termsLabel.append($("<a href='#'>terms and conditions.</a>").click(function() {
		ajaxHTML('/content/terms', null, function(html) {
			$('#anytimeTerms').html(html).show();
			cancelButton('#anytimeTerms');
		});
	}));
}