App.booksIndex = {
	init : function() {
		if (App.loggedIn == true) {
			$('.add-to-lists').bind('click', function (event) {
				event.preventDefault();
				$.ajax({
					dataType: 'json',
					url: this.href + '.json',
					success: function (response, status) {
						if (response.status == 'success') {
							new Message(response.data.message);
							var klass = response.data.type + '-' + response.data.foreignKey;
							$('div.add-favorites.' + klass).hide();
							$('div.added-favorites.' + klass).show();
						}
						if (response.status == 'error') {
							new Error(response.data.message);
						} 
					},
					error: function (response, status) {
						//new Error(__('There was an error reverting this commentary'));
					}
				});
			});
		}

		$('.add-to-cart').bind('click', function (event) {
			var lockClass = 'loading';
			var $self = $(this);

			event.preventDefault();
			if (!$self.hasClass(lockClass)) {
				$self.addClass(lockClass);
				$.ajax({
					dataType: 'json',
					url: this.href + '.json',
					success: function (response, status) {
						if (response.status == 'success') {
							$self.parent()
								.hide()
								.next().show();
							new Message(response.data.message);
						} 
						if (response.status == 'error') {
							new Error(response.data.message);
						} 
					},
					error: function (response, status) {
						new Error(__('An unexpected error occurred during the request. Please try again'));
					},
					complete: function (XMLHttpRequest, textStatus) {
						$self.removeClass(lockClass);
					}
				});
			}
		});
	}
};
