﻿var rating =
{
	ownrating: 0,
	gameID: 0,

	paginate: function(page) {
	
		$.post(resources.get('HDL_Reviews_GetReviews'),
			{ g: rating.gameID, pn: page },
			rating.onPaginate,
			'text');
	},
	onPaginate: function(response) {
		htmlutils.table_clear(resources.get('CID_Reviews_TableReviews'), 0);
		$('#' + resources.get('CID_Reviews_TableReviews')).append(response);
	},
	rate: function() {
		var title = $('#' + resources.get('CID_Reviews_RateTxtTitle')).attr('value');
		var comment = $('#' + resources.get('CID_Reviews_RateTxtComment')).attr('value');
		if (rating.ownrating == 0 || title == '' || comment == '') {
			$('#' + resources.get('CID_Reviews_InfoRateError')).show();
		}
		else {
			$.post(resources.get('HDL_Reviews_RateGameUrl'),
				{ g: rating.gameID, t: title, c: comment, r: rating.ownrating },
				rating.onRate,
				'json');

			$('#' + resources.get('CID_Reviews_InfoRateError')).hide();
		}
	},
	onRate: function(response) {
		if (response.Success == -1) {
			$('#' + resources.get('CID_Reviews_InfoForbiddenWords')).hide();
			$('#' + resources.get('CID_Reviews_InfoRateError')).show();
		}
		else if (response.Success == -2) {
			$('#' + resources.get('CID_Reviews_InfoRateError')).hide();
			$('#' + resources.get('CID_Reviews_InfoForbiddenWords')).show();
		}
		else {
			$('#' + resources.get('CID_Reviews_InfoForbiddenWords')).hide();
			$('#' + resources.get('CID_Reviews_InfoRateError')).hide();
			$('#' + resources.get('CID_Reviews_InfoRateSuccess')).show();
			rating.paginate(1);
			setTimeout(function() {
				$('#' + resources.get('CID_Reviews_InfoRateSuccess')).hide();
				$('#' + resources.get('CID_Reviews_RateGameForm')).hide();
			}, 5000);
		}
	},
	updateReviewsNumber: function(reviewsNumberText, tabHeaderText) {
		$('#' + resources.get('CID_Reviews_ReviewsNumber')).html(reviewsNumberText);
		$('#' + resources.get('CID_Lobby_TabContainerReviewsHeader')).html(tabHeaderText);
	},
	set: function(i) {
		rating.ownrating = i;
	},
	hover: function(i) {
		var j = 1;
		for (; j <= i; j++)
			$('#setstar' + j).attr('src', resources.get('IMG_Rating_StarHover'));
		for (; j <= 5; j++)
			$('#setstar' + j).attr('src', resources.get('IMG_Rating_StarOut'));
	},
	out: function() {
		if (rating.ownrating == 0) {
			for (var i = 0; i <= 5; i++)
				$('#setstar' + i).attr('src', resources.get('IMG_Rating_StarOut'));
		}
		else
			rating.hover(rating.ownrating);
	},
	init: function(ownrating, gameID) {
		rating.gameID = gameID;
		rating.ownrating = ownrating;
		var i = 1;
		for (; i <= rating.ownrating; i++)
			$('#setstar' + i).attr('src', resources.get('IMG_Rating_StarHover'));
		for (; i <= 5; i++)
			$('#setstar' + i).attr('src', resources.get('IMG_Rating_StarOut'));
		rating.paginate(1);
	}
}
