// This file is for dumping small and useful function
// not to create special file for each of them (to decrease count of
// requests to the server).
// created by Vladimir Loshchin 22 Apr 2008

function rateFilm(p_filmId, p_rate) 
{
	ratingContainerObj = document.getElementById('rate_container_'+p_filmId);
	ratingContainerObj.innerHTML = '<img src="/img/ajax_req_proc_indicator.gif" />'; 
	
	$.post('/tools/ajax/rateFilm.php', {filmid: p_filmId, rate: p_rate}, rateFilmSuccessCallback);
}
	
// Функция обрабатывает ответ сервера, который
// ответ должен состоять из ИДЕНТИФИКАТОРА_ФИЛЬМА и 
// НОВОЙ_ОЦЕНКИ (округленной конечно), разделенных ОДНИМ пробелом.
// Примечание: я не стал делать ответ в xml в виду простоты ответа.
function rateFilmSuccessCallback(textData)
{
	var arSplitedResponse = textData.split(' ');
	var filmId = arSplitedResponse[0];
	var newRate = arSplitedResponse[1];
	//alert('зпрос произведен успешно. Новое значение рейтинга: '+newRate);
	
	// Заменяем старое значение оценки фильма на новое.
	ratingContainerObj = document.getElementById('rate_container_'+filmId);
	ratingContainerObj.innerHTML = newRate;
	
	starsContainer = document.getElementById('stars_container_'+filmId);
	starsContainer.innerHTML = '';	
	// Максимальная оценка 10, а звёздочек 5, поэтому делим пополам.
	activeStarsCount = Math.round(newRate/2);
	// Добавляем активные звёздочки.
	for (i = 0; i < activeStarsCount; i++) {
		starsContainer.innerHTML = starsContainer.innerHTML + '<img src="/img/star_act_25x25.png" class="png"/>';		
	}
	// Добавляем неактивные звёздочки.
	for (i = activeStarsCount; i < 5; i++) {
		starsContainer.innerHTML = starsContainer.innerHTML + '<img src="/img/star_noact_25x25.png" class="png"/>';
	}

	// Make the voting form invisible		
	voteFormContainerObj = document.getElementById('film_vote_container_'+filmId);
	voteFormContainerObj.style.visibility = 'hidden';
}
//-------------------------
function rateElement(p_ElementId, p_rate, type) 
{
	/*alert(p_rate);
	return false;*/
	ratingContainerObj = document.getElementById('rate_container_'+p_ElementId);
	//ratingContainerObj.innerHTML = '<img src="/img/ajax_req_proc_indicator.gif" />'; 
	if (type=="QUALITY")
		$.post('/bitrix/templates/.default/service/rateElementQ.php', {elementid: p_ElementId, rate: p_rate}, rateElementQSuccessCallback);
	else
		$.post('/bitrix/templates/.default/service/rateElement.php', {elementid: p_ElementId, rate: p_rate}, rateElementSuccessCallback);
	
}
	
// Функция обрабатывает ответ сервера, который
// ответ должен состоять из ИДЕНТИФИКАТОРА_ФИЛЬМА и 
// НОВОЙ_ОЦЕНКИ (округленной конечно), разделенных ОДНИМ пробелом.
// Примечание: я не стал делать ответ в xml в виду простоты ответа.
function rateElementSuccessCallback(textData)
{
	var arSplitedResponse = textData.split(' ');
	var ElementId = arSplitedResponse[0];
	var newRate = arSplitedResponse[1];
	//alert('зпрос произведен успешно. Новое значение рейтинга: '+newRate);
	
	// Заменяем старое значение оценки фильма на новое.
	ratingContainerObj = document.getElementById('rate_container_'+ElementId);
	ratingContainerObj.innerHTML = newRate;
	
	starsContainer = document.getElementById('stars_container_'+ElementId);
	starsContainer.innerHTML = '';	
	// Максимальная оценка 10
	activeStarsCount = Math.round(newRate);
	// Добавляем активные звёздочки.
	for (i = 0; i < activeStarsCount; i++) {
		starsContainer.innerHTML = starsContainer.innerHTML + '<img src="/img/star_act_25x25.png" class="png"/>';		
	}
	// Добавляем неактивные звёздочки.
	for (i = activeStarsCount; i < 10; i++) {
		starsContainer.innerHTML = starsContainer.innerHTML + '<img src="/img/star_noact_25x25.png" class="png"/>';
	}

	// Make the voting form invisible		
	voteFormContainerObj = document.getElementById('element_vote_container_'+ElementId);
	voteFormContainerObj.style.visibility = 'hidden';
}

//-----------------------------------------------

function rateElementQSuccessCallback(textData)
{
	var arSplitedResponse = textData.split(' ');
	var ElementId = arSplitedResponse[0];
	var newRate = arSplitedResponse[1];
	
	starsContainer = document.getElementById('stars_Q_container_'+ElementId);
	starsContainer.innerHTML = '';	
	// Максимальная оценка 10
	activeStarsCount = Math.round(newRate);
	starsContainer.innerHTML = "";
	// Добавляем активные звёздочки.
	for (i = 0; i < activeStarsCount; i++) {
		starsContainer.innerHTML = starsContainer.innerHTML + '<img src="/img/1.gif" style="background:url(/img/qual_'+ (i+1) + '.jpg) 0% 100% no-repeat" class="line_yel"/>';		
	}
	
	// Make the voting form invisible		
	document.getElementById('quality_set_'+ElementId).style.visibility = 'hidden';
	document.getElementById('Result_'+ElementId).style.visibility = 'hidden';
}
