function addVote(parent) {
	parent.innerHTML = canHtml;
	ajaxVot();
}

function noVote(parent) {
	parent.innerHTML = cannotHtml;
}

function ajaxVot() {
	var vot = $('vote-item');
	if (vot == null)
		return;
	$$('#star-rating a').each( function(node) {
		Element.observe(node, 'click', function(e) {
			vot.innerHTML = loadingHtml;
			new Ajax.Request(node.href, {
				method :'get',
				onSuccess : function(transport, json) {
					var json = transport.responseText.evalJSON();
					vot.innerHTML = "<p class='rating star" + json.avg + "'></p>";
					$('votes').innerHTML = json.votes;
				},
				onFailure : function() {
					vot.innerHTML = errorHtml;
				}
			});
			Event.stop(e);
		});
	});
}

function itemVote() {
	new Ajax.Request(checkCanVote, {
		method :'get',
		onSuccess : function(transport, json) {
			var vot = $('vote-item');
			var canAdd = transport.responseText.evalJSON().canAdd;
			if (canAdd) {
				addVote(vot);
			} else {
				noVote(vot);
			}
		}
	});
}