$.include(JS_URL_BASE + 'jquery/jquery.loading.js');

$(document).ready(function () {
	$('a.lista-desejos').bind('click', function (e) {
		e.preventDefault();
		var $this = $(this);
		$this.loading(true);
		var action = $this.attr('href');
		var actionLoad = App.url(action, {extension: 'js'});
		var img = $this.find('img');

		App.flash.bind('lista-desejos-' + ($this.is('.adicionar') ? 'adicionar' : 'remover'), function (e, type, status, message, className, url) {
			if (url == App.url(action, {extension: 'js'})) {
				App.flash.unbind(e);
			} else {
				return false;
			}

			if (status === 'success') {
				if ($this.is('.adicionar')) {
					action = action.replace('adicionar', 'remover');
					$this.attr({
						'href': action,
						'title': 'Remover da minha lista de desejos'
					}).removeClass('adicionar').addClass('remover');
	
					if (img.size() > 0) {
						var src = img.attr('src').replace('_off', '_on');
						img.attr({
							src: src,
							alt: 'Remover da minha lista de desejos'
						});
					} else {
						$this.html('Remover da lista de desejos');
					}
				} else {
					action = action.replace('remover', 'adicionar');
					$this.attr({
						'href': action,
						'title': 'Adicionar à minha lista de desejos'
					}).removeClass('remover').addClass('adicionar');
	
					if (img.size() > 0) {
						var src = img.attr('src').replace('_on', '_off');
						img.attr({
							src: src,
							alt: 'Adicionar à minha lista de desejos'
						});
					} else {
						$this.html('Adicionar à lista de desejos');
					}
				}
			}
			$this.unloading();
		});

		$.get(actionLoad, null, function () {}, 'script');
	});
});