/* rating */
// var ratingStarsHeight = 10;
var MMS_ratingContainerPrefix = "ratingContainer-";
var actualRatings = new Array();

function MMS_initRating(strIdentificator, idArticle) {
	var ratingCont = MMS_ratingContainerPrefix+idArticle;
	var sb = new StringBuffer();
	sb.append('		<a href="#1" class="rate1" title="Udělit 1 hvězdičku" onclick="MMS_rate(1, \''+strIdentificator+'\', \''+idArticle+'\'); return false;"><span>1/5</span></a><span> | </span>');
	sb.append('		<a href="#2" class="rate2" title="Udělit 2 hvězdičky" onclick="MMS_rate(2, \''+strIdentificator+'\', \''+idArticle+'\'); return false;"><span>2/5</span></a><span> | </span>');
	sb.append('		<a href="#3" class="rate3" title="Udělit 3 hvězdičky" onclick="MMS_rate(3, \''+strIdentificator+'\', \''+idArticle+'\'); return false;"><span>3/5</span></a><span> | </span>');
	sb.append('		<a href="#4" class="rate4" title="Udělit 4 hvězdičky" onclick="MMS_rate(4, \''+strIdentificator+'\', \''+idArticle+'\'); return false;"><span>4/5</span></a><span> | </span>');
	sb.append('		<a href="#5" class="rate5" title="Udělit 5 hvězdiček" onclick="MMS_rate(5, \''+strIdentificator+'\', \''+idArticle+'\'); return false;"><span>5/5</span></a>');

	$("#"+ratingCont).html(sb.getString());
	$("#"+ratingCont).html(sb.getString()).after("<p id=\"totalVotes-"+idArticle+"\" class=\"votes\"></p>");

	$("#"+ratingCont+" a").each( function() {
		$(this).hover(
			function() { var no = parseInt(this.className.substr(4)); $("#"+ratingCont).css( { 'background-position' : '0px ' + (-1*ratingStarsHeight*no) + 'px' } ); },
			function() { $("#"+ratingCont).css( { 'background-position' : '0px ' + (-1*actualRatings[idArticle]*ratingStarsHeight) +'px' } ); }
		);
	});
}


function MMS_onSoutezRatingStatusesResult(ratingStatus) {
	
	if (typeof(ratingStatus) != "object") return;
	for (var i = 0; i < ratingStatus.length; i++) {
		var result = ratingStatus[i];
		if (!result.allowed) {
			$("#"+MMS_ratingContainerPrefix+result.ratingResults[0].ratedType.identifier).html("");
		}
		var tmp = -1*ratingStarsHeight*Math.round(result.ratingResults[0].rating);
		actualRatings[result.ratingResults[0].ratedType.identifier] = Math.round(result.ratingResults[0].rating); 
		$("#"+MMS_ratingContainerPrefix+result.ratingResults[0].ratedType.identifier).css( { 'background-position' :'0px '+tmp+'px' } );

		var totalVotes = result.ratingResults[0].totalVotes;
		$("#totalVotes-"+result.ratingResults[0].ratedType.identifier).text("Počet hlasů: "+totalVotes);
	}
}

/**
 * samotné zahlasování
 **/
function MMS_rate(rating, category, idArticle) {
	var ratingCont = MMS_ratingContainerPrefix+idArticle;
	// započtení hlasu k článku
	$("#"+ratingCont).html("");
	$("#"+ratingCont).css( { 'background-position' : '0px -60px' } );
	var contents = [{name:category, identifier:idArticle}];
	RatingService.rate(contents, rating, MMS_onRatingResult);
}

/**
 * zavolá se po odhlasování (poté, co proběhne funkce rate(). Zpracování výsledků, zákaz dalšího hlasování
 **/
function MMS_onRatingResult(ratings){
	if (typeof(ratings) != "object") return;
	var postRating;

	for (var i = 0; i < ratings.length; i++) {
		var rating = ratings[i];
		postRating = rating.rating;
		postTotalVotes = rating.totalVotes;
	}
	
	var tmp = -1*ratingStarsHeight*Math.round(postRating);
	actualRatings[rating.ratedType.identifier] = Math.round(postRating); 
	$("#"+MMS_ratingContainerPrefix+rating.ratedType.identifier).css( { 'background-position' :'0px '+tmp+'px' } );
	$("#totalVotes-"+rating.ratedType.identifier).text("Počet hlasů: "+rating.totalVotes);
}
