function RATING_Video(identifier) {

	this.listItemsPrefix = ".rating-video-";
	this.identifier = identifier;
	$this = this;

	this.onStatusesList = function(data) {
		if (!data || (data && data.length == 0)) return false;

		var item, actualLi, actualId, actualValue;
		var sbAnchors = new StringBuffer();
		for (i=0; i<data.length; i++) {
				item = data[i];
				
				if (item.allowed) {
					actualId = item.ratingResults[0].ratedType.identifier;
					actualLi = this.listItemsPrefix+actualId;
					
					// vytvoreni odkazu pro rating
					$(".rating-stars", $(actualLi)).after('<div class="rate clr"></div>').remove();
					sbAnchors.reset();
					sbAnchors.append('<a onclick="'+this.identifier+'.rate(1, \'video\', \'').append(actualId).append('\'); return false;" title="Udělit 1 hvězdičku" class="rate1" href="#"><span>1/5</span></a><span> | </span>');
					sbAnchors.append('<a onclick="'+this.identifier+'.rate(2, \'video\', \'').append(actualId).append('\'); return false;" title="Udělit 2 hvězdičku" class="rate2" href="#"><span>2/5</span></a><span> | </span>');
					sbAnchors.append('<a onclick="'+this.identifier+'.rate(3, \'video\', \'').append(actualId).append('\'); return false;" title="Udělit 3 hvězdičku" class="rate3" href="#"><span>3/5</span></a><span> | </span>');
					sbAnchors.append('<a onclick="'+this.identifier+'.rate(4, \'video\', \'').append(actualId).append('\'); return false;" title="Udělit 4 hvězdičku" class="rate4" href="#"><span>4/5</span></a><span> | </span>');
					sbAnchors.append('<a onclick="'+this.identifier+'.rate(5, \'video\', \'').append(actualId).append('\'); return false;" title="Udělit 5 hvězdičku" class="rate5" href="#"><span>5/5</span></a>');
					$(".rate", $(actualLi)).append(sbAnchors.getString());

					//nastaveni initial value pro div.rate
					actualValue = Math.round(item.ratingResults[0].rating);
					$(".rate", $(actualLi)).data("actualValue", actualValue);
					$(".rate", $(actualLi)).attr("data-actualvalue", actualValue);
					$(".rate", $(actualLi)).css("background-position", "0px -"+17*actualValue+"px");
					

					// aktivace hover efektu pro hvezdicky					
					$(".rate a", $(actualLi)).hover(function() {
						var val = String($(this).attr("class")).replace("rate","");
						$(this).parents("div.rate:first").css("background-position", "0px -"+17*val+"px");
						
					}, function() {
						var actVal = $(this).parents("div.rate:first").attr("data-actualvalue");
						$(this).parents("div.rate:first").css("background-position", "0px -"+17*actVal+"px");
					});
				}		
		}
		//this.writeVoteInfo(data);		// write votes count + vote buttons (if allowed)
		//this.bindVoteButtons();

		return true;		
	};
	
	this.rate = function(val, str, id) {
		//this.onRatingResult({ test: "test"});
		var contents = [{name:str, identifier:id}];
		var callbackFnc = this.identifier+".onRatingResult(dt)";		
		RatingService.rate(contents, val, function(dt) { eval(callbackFnc); });
	};
	
	this.onRatingResult = function(data) {
		if (!data) return false;
				
		actualId = data[0].ratedType.identifier;
		actualLi = this.listItemsPrefix+actualId;
		$(".rate", $(actualLi)).empty();
		$(".rate", $(actualLi)).css("background-position", "0px -"+17*Math.round(data[0].rating)+"px");
		//$("p.clear", $(actualLi)).after('<p class="rate-info">Vaše hodnocení bylo započítáno.</p>');
		$("p.rate-info", $(actualLi)).html('Děkujeme za hodnocení.');
	};
	
	this.hit = function(str, id) {
		var contents = [{name:str, identifier:id}];
		var callbackFnc = this.identifier+".onHitResult(dt)";
		RatingService.hit(contents, function(dt) { eval(callbackFnc); });	
	};
	
	this.onHitResult = function(data) {
		if (!data) return false;
		this.debug(data);
		
		actualId = data[0].ratedType.identifier;
		actualLi = this.listItemsPrefix+actualId;
		$(".highlight", $(actualLi)).empty().text(data[0].totalVotes+"x");
	};
	

	
	
	
	this.debug = function(log) {
		if (window.console && window.console.firebug) console.log(log);
	};
}
