function _doCollaborationQuery(reqUrl, reqObject, _handler){
	$.ajax({
		type:     'GET',
		dataType: 'json',
		cache:     false,
		url:       reqUrl, 
		data:      reqObject, 
		success:   _handler
	})
}

function ajaxGetRating(reqUrl, reqObject){
	_doCollaborationQuery(reqUrl, reqObject, function(data){
		$.each(data, function(k,v){
			__hUpdateStars(v)
		})
	})
}

function __hUpdateStars(elem){
	$('span[id$=' + elem.soid + ']').not('.tv-vote-inactive').removeAttr('class').end().addClass('tv-star' + Math.round(elem.average_rate)).next('em').html((parseFloat(elem.average_rate) || 0) + ' (' + (parseInt(elem.rate_amount) || 0) + ')')
}

function ajaxGetRecommendations(reqUrl, reqObject){
	_doCollaborationQuery(reqUrl, reqObject, function(data){var timesheet = document.getElementById('timesheet'); $.each(data, function(ind, el){if(el.rate < 3) return; $("div.rec" + el.soid, timesheet).parent('td').addClass('recommended-item')});})
}
