function setRate(object_id, type, points){
	jQuery.ajax({
		type: "POST",
		url: "/main/services.json",
		data: "action=vote&type=" + type + "&object_id=" + object_id + "&points=" + points,
		success: function(result_text){
			eval("var result_obj="+result_text+";");
			if(result_obj.type=="error"){
				alert(result_obj.data);
			}
			else{
				var new_points=result_obj.rating;
				var rating_plus=result_obj.rating_plus;
				var rating_minus=result_obj.rating_minus;
				if(!rating_minus) rating_minus="-"+rating_minus;
				var rating_span=document.getElementById("rating_" + type + "_" + object_id);
				var className="zero";
				if(new_points>0) className="positive";
				if(new_points<0) className="negative";
				rating_span.innerHTML=new_points;
				rating_span.className=className;

				document.getElementById("rating_plus_" + type + "_" + object_id).innerHTML=rating_plus;
				document.getElementById("rating_minus_" + type + "_" + object_id).innerHTML=rating_minus;

				alert(result_obj.data);
			}
		},
		error: function(){
			alert('Ошибка доступа!');
		}
	});
}
function showUserModeratingCriteria(object_id, model_name)// Не используется.
{
	var o = jQuery("#user_moderating_criteria_" + model_name + "_" + object_id);
	if (o.is(":hidden")) {
		o.slideDown("slow");
	} else {
		o.slideUp('fast');
	}
}
function doUserModerating(object_id, model_name, criterion, take_away)
{
	jQuery.ajax({
		type: "POST",
		url: "/main/services.json",
		data: {action: 'user_moderating', model_name: model_name, criterion: criterion, object_id: object_id, take_away: take_away},
		success: function(result_obj){
			if(!result_obj.type){
				alert('Пустой ответ');
				return;
			}
			switch(result_obj.type){
				case 'error':
					alert('Ошибка при сохранении данных');
					break;
				case 'notFound':
					alert('Объект не найден. Возможно он уже удалён. Обновите страницу.');
					break;
				default:
					var criteria_id = "#user_moderating_criteria_" + model_name + "_" + object_id;
					for(var n in result_obj.item){
						if(criterion + '_count' == n){
                                                    jQuery(criteria_id + ' span.' + n).addClass('usermoderating-criterion-is-changed');
						}
						jQuery(criteria_id + ' span.' + n).text(result_obj.item[n]);
					}
			}
		},
		error: function(){alert('Ошибка загрузки!');},
		dataType: 'json'
	});
}

function setUserModerating(object_id, model_name, criterion)
{
    doUserModerating(object_id, model_name, criterion, 0);
}

function takeAwayUserModerating(object_id, model_name, criterion)
{
    doUserModerating(object_id, model_name, criterion, 1);
}

function maybe_send_form(form){
	if(!form) form=document.forms[0];
	var elements=form.elements;
	for(var i=0; i<elements.length; i++){
		var element=elements[i];
		var required=element.getAttribute("required");
		if(required){
			var title=element.getAttribute("title");
			var name=element.getAttribute("name");
			var value=element.value;
			var title_or_name=title?title:name;
			if(!value){
				alert("Пожалуйста, заполните поле \""+title_or_name+"\"");
				return;
			}
		}
	}
	form.submit();
}
