(function () {
	var labels = {
		'vote-not-choosen': 'Выберите вариант ответа на вопрос.'
	};
	
	$.umi = {
		vote: function (selector) {
			var $form = $(selector);
			
			$form.submit(function () {
				var $input = $form.find("input[type = 'radio']").filter(function () {
					return $(this).attr('checked');
				});
				
				if(!$input.size()) {
					alert(labels['vote-not-choosen']);
				}
				
				$(document.body).append(
					$('<script />').attr({
						src: '/vote/post/' + $input.val() + '/'
					})
				);
				
				return false;
			});
		},
		
		login: function (selector) {
			var $form = $(selector);
			
			$form.submit(function () {
				var $login = $form.find("input[name = 'login']");
				var $password = $form.find("input[name = 'password']");
				return false;
			});
		},
		
		cart: function (options) {
			var $rows = $(options.row);
			
			var _price = function (price) {
				return price.actual + ' ' + price.suffix;
			};
			
			var _update = function (data) {
				$(options['summary-price']).html(_price(data.summary.price));
				
				var item;
				for(var index in data.items.item) {
					item = data.items.item[index];
					$rows.find(options['price-total'] + "[rel = '" + item.id + "']").html(
						_price(item['total-price'])
					);
				}
			};
			
			$rows.find(options.remove).bind('click', function () {
				var $this = $(this), id = $this.attr('rel');
				
				basket.removeItem(id, function (data) {
					$(options.row + "[rel = '" + id + "']").remove();
					_update(data);
				});
				return false;
			});

			$rows.find(options.amount).bind('change keyup', function () {
				var $this = $(this), id = $this.attr('rel');
				
				basket.modifyItem(id, {
					amount: parseInt($this.val())
				}, function (data) {
					_update(data);
				});
			});
		}
	};

})(jQuery);
